Table of Contents

Namespace Microsoft.EntityFrameworkCore.Query

Classes

EntityProjectionExpression

An expression that represents an entity in the projection of SelectExpression.

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

ExpressionExtensions

Extension methods for Expression types.

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

QuerySqlGenerator

A query SQL generator to get IRelationalCommand for given SelectExpression.

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

QuerySqlGeneratorDependencies

Service dependencies parameter class for QuerySqlGenerator

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalCollectionShaperExpression

An expression that represents creation of a collection for relational provider in Microsoft.EntityFrameworkCore.Query.ShapedQueryExpression.ShaperExpression.

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

RelationalCompiledQueryCacheKeyGenerator

Creates keys that uniquely identifies a query. This is used to store and lookup compiled versions of a query in a cache.

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

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.

RelationalCompiledQueryCacheKeyGeneratorDependencies

Service dependencies parameter class for RelationalCompiledQueryCacheKeyGenerator

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.

RelationalEntityShaperExpression

An expression that represents creation of an entity instance for a relational provider in Microsoft.EntityFrameworkCore.Query.ShapedQueryExpression.ShaperExpression.

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

RelationalEvaluatableExpressionFilter

Represents a filter for evaluatable expressions.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalEvaluatableExpressionFilterDependencies

Service dependencies parameter class for RelationalEvaluatableExpressionFilter

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalMemberTranslatorProvider

Provides translations for LINQ MemberExpression expressions by dispatching to multiple specialized member translators.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalMemberTranslatorProviderDependencies

Service dependencies parameter class for RelationalMemberTranslatorProvider

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalMethodCallTranslatorProvider

Provides translations for LINQ MethodCallExpression expressions by dispatching to multiple specialized method call translators.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalMethodCallTranslatorProviderDependencies

Service dependencies parameter class for RelationalMethodCallTranslatorProvider

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalParameterBasedSqlProcessor

A class that processes the SelectExpression after parementer values are known.

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

RelationalParameterBasedSqlProcessorDependencies

Service dependencies parameter class for RelationalParameterBasedSqlProcessorFactory

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalQueryCompilationContext

The primary data structure representing the state/components used during relational query compilation.

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

RelationalQueryCompilationContextDependencies

Service dependencies parameter class for RelationalQueryCompilationContext

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.

RelationalQueryContext

The principal data structure used by a compiled relational query during execution.

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

RelationalQueryContextDependencies

Service dependencies parameter class for RelationalQueryContext

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.

RelationalQueryTranslationPostprocessor
RelationalQueryTranslationPostprocessorDependencies

Service dependencies parameter class for RelationalQueryTranslationPostprocessor

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalQueryTranslationPreprocessor
RelationalQueryTranslationPreprocessorDependencies

Service dependencies parameter class for RelationalQueryTranslationPreprocessor

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalQueryableMethodTranslatingExpressionVisitor
RelationalQueryableMethodTranslatingExpressionVisitorDependencies

Service dependencies parameter class for RelationalQueryableMethodTranslatingExpressionVisitor

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalShapedQueryCompilingExpressionVisitor
RelationalShapedQueryCompilingExpressionVisitorDependencies

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.

RelationalSplitCollectionShaperExpression

An expression that represents creation of a collection during split query for relational provider in Microsoft.EntityFrameworkCore.Query.ShapedQueryExpression.ShaperExpression.

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

RelationalSqlTranslatingExpressionVisitor

A class that translates expressions to corresponding SQL representation.

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

RelationalSqlTranslatingExpressionVisitorDependencies

Service dependencies parameter class for RelationalSqlTranslatingExpressionVisitorFactory

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

RelationalSqlTranslatingExpressionVisitorFactory

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.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

SqlExpressionFactory
SqlExpressionFactoryDependencies

Service dependencies parameter class for SqlExpressionFactory

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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

SqlExpressionVisitor

A class that visits a SQL expression tree.

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

SqlNullabilityProcessor

A class that processes a SQL tree based on nullability of nodes to apply null semantics in use and optimize it based on parameter values.

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

Structs

RelationalCompiledQueryCacheKeyGenerator.RelationalCompiledQueryCacheKey

A key that uniquely identifies a query. This is used to store and lookup compiled versions of a query in a cache.

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

Interfaces

IMemberTranslator

A SQL translator for LINQ MemberExpression expression.

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

IMemberTranslatorPlugin

Represents plugin for IMemberTranslator.

The service lifetime is Singleton and multiple registrations are allowed. This means a single instance of each service is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

IMemberTranslatorProvider

Provides translations for LINQ MemberExpression expressions.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

IMethodCallTranslator

A SQL translator for LINQ MethodCallExpression expression.

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

IMethodCallTranslatorPlugin

Represents plugin for IMethodCallTranslator.

The service lifetime is Singleton and multiple registrations are allowed. This means a single instance of each service is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

IMethodCallTranslatorProvider

Provides translations for LINQ MethodCallExpression expressions.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

IQuerySqlGeneratorFactory

A factory for creating QuerySqlGenerator instances.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

IRelationalParameterBasedSqlProcessorFactory

A factory for creating RelationalParameterBasedSqlProcessor instances.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

IRelationalQueryStringFactory

Implemented by database providers to generate the query string for Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToQueryString(System.Linq.IQueryable).

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

IRelationalSqlTranslatingExpressionVisitorFactory

A factory for creating RelationalSqlTranslatingExpressionVisitor instances.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.

ISqlExpressionFactory

A factory for creating SqlExpression instances.

The service lifetime is Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.