Table of Contents

Class RelationalShapedQueryCompilingExpressionVisitorDependencies

Namespace
Microsoft.EntityFrameworkCore.Query
Assembly
Microsoft.EntityFrameworkCore.Relational.dll

Service dependencies parameter class for RelationalShapedQueryCompilingExpressionVisitor

This type is typically used by database providers (and other extensions). It is generally not used in application code.

Do not construct instances of this class directly from either provider or application code as the constructor signature may change as new dependencies are added. Instead, use this type in your constructor so that an instance will be created and injected automatically by the dependency injection container. To create an instance with some dependent services replaced, first resolve the object from the dependency injection container, then replace selected services using the 'With...' methods. Do not call the constructor at any point in this process.

The service lifetime is Scoped. This means that each Microsoft.EntityFrameworkCore.DbContext instance will use its own instance of this service. The implementation may depend on other services registered with any lifetime. The implementation does not need to be thread-safe.

public sealed class RelationalShapedQueryCompilingExpressionVisitorDependencies
Inheritance
RelationalShapedQueryCompilingExpressionVisitorDependencies
Inherited Members

Constructors

RelationalShapedQueryCompilingExpressionVisitorDependencies(IQuerySqlGeneratorFactory, ISqlExpressionFactory, IParameterNameGeneratorFactory, IRelationalParameterBasedSqlProcessorFactory, ICoreSingletonOptions)

Creates the service dependencies parameter object for a RelationalShapedQueryCompilingExpressionVisitor.

Do not call this constructor directly from either provider or application code as it may change as new dependencies are added. Instead, use this type in your constructor so that an instance will be created and injected automatically by the dependency injection container. To create an instance with some dependent services replaced, first resolve the object from the dependency injection container, then replace selected services using the 'With...' methods. Do not call the constructor at any point in this process.

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public RelationalShapedQueryCompilingExpressionVisitorDependencies(IQuerySqlGeneratorFactory querySqlGeneratorFactory, ISqlExpressionFactory sqlExpressionFactory, IParameterNameGeneratorFactory parameterNameGeneratorFactory, IRelationalParameterBasedSqlProcessorFactory relationalParameterBasedSqlProcessorFactory, ICoreSingletonOptions coreSingletonOptions)

Parameters

querySqlGeneratorFactory IQuerySqlGeneratorFactory
sqlExpressionFactory ISqlExpressionFactory
parameterNameGeneratorFactory IParameterNameGeneratorFactory
relationalParameterBasedSqlProcessorFactory IRelationalParameterBasedSqlProcessorFactory
coreSingletonOptions ICoreSingletonOptions

Properties

CoreSingletonOptions

Core singleton options.

public ICoreSingletonOptions CoreSingletonOptions { get; }

Property Value

ICoreSingletonOptions

ParameterNameGeneratorFactory

The parameter name-generator factory.

[Obsolete("Use the service from RelationalParameterBasedSqlProcessorDependencies.")]
public IParameterNameGeneratorFactory ParameterNameGeneratorFactory { get; }

Property Value

IParameterNameGeneratorFactory

QuerySqlGeneratorFactory

The SQL generator factory.

public IQuerySqlGeneratorFactory QuerySqlGeneratorFactory { get; }

Property Value

IQuerySqlGeneratorFactory

RelationalParameterBasedSqlProcessorFactory

The SQL processor based on parameter values.

public IRelationalParameterBasedSqlProcessorFactory RelationalParameterBasedSqlProcessorFactory { get; }

Property Value

IRelationalParameterBasedSqlProcessorFactory

SqlExpressionFactory

The SQL expression factory.

[Obsolete("Use the service from RelationalParameterBasedSqlProcessorDependencies.")]
public ISqlExpressionFactory SqlExpressionFactory { get; }

Property Value

ISqlExpressionFactory

Methods

With(ICoreSingletonOptions)

Clones this dependency parameter object with one service replaced.

public RelationalShapedQueryCompilingExpressionVisitorDependencies With(ICoreSingletonOptions coreSingletonOptions)

Parameters

coreSingletonOptions ICoreSingletonOptions

A replacement for the current dependency of this type.

Returns

RelationalShapedQueryCompilingExpressionVisitorDependencies

A new parameter object with the given service replaced.

With(IQuerySqlGeneratorFactory)

Clones this dependency parameter object with one service replaced.

public RelationalShapedQueryCompilingExpressionVisitorDependencies With(IQuerySqlGeneratorFactory querySqlGeneratorFactory)

Parameters

querySqlGeneratorFactory IQuerySqlGeneratorFactory

A replacement for the current dependency of this type.

Returns

RelationalShapedQueryCompilingExpressionVisitorDependencies

A new parameter object with the given service replaced.

With(IRelationalParameterBasedSqlProcessorFactory)

Clones this dependency parameter object with one service replaced.

public RelationalShapedQueryCompilingExpressionVisitorDependencies With(IRelationalParameterBasedSqlProcessorFactory relationalParameterBasedSqlProcessorFactory)

Parameters

relationalParameterBasedSqlProcessorFactory IRelationalParameterBasedSqlProcessorFactory

A replacement for the current dependency of this type.

Returns

RelationalShapedQueryCompilingExpressionVisitorDependencies

A new parameter object with the given service replaced.

With(ISqlExpressionFactory)

Clones this dependency parameter object with one service replaced.

public RelationalShapedQueryCompilingExpressionVisitorDependencies With(ISqlExpressionFactory sqlExpressionFactory)

Parameters

sqlExpressionFactory ISqlExpressionFactory

A replacement for the current dependency of this type.

Returns

RelationalShapedQueryCompilingExpressionVisitorDependencies

A new parameter object with the given service replaced.

With(IParameterNameGeneratorFactory)

Clones this dependency parameter object with one service replaced.

public RelationalShapedQueryCompilingExpressionVisitorDependencies With(IParameterNameGeneratorFactory parameterNameGeneratorFactory)

Parameters

parameterNameGeneratorFactory IParameterNameGeneratorFactory

A replacement for the current dependency of this type.

Returns

RelationalShapedQueryCompilingExpressionVisitorDependencies

A new parameter object with the given service replaced.