QueryCompilationContext 类

定义

表示查询编译期间使用的状态/组件的主要数据结构。

此类型通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。

public class QueryCompilationContext
type QueryCompilationContext = class
Public Class QueryCompilationContext
继承
QueryCompilationContext
派生

注解

有关详细信息 和示例,请参阅数据库提供程序和扩展的实现EF Core 查询的工作原理

构造函数

QueryCompilationContext(IModel, ILogger, IEntityQueryModelVisitorFactory, IRequiresMaterializationExpressionVisitorFactory, ILinqOperatorProvider, Type, Boolean)

此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。

QueryCompilationContext(QueryCompilationContextDependencies, Boolean)

创建 QueryCompilationContext 类的新实例。

QueryCompilationContext(QueryCompilationContextDependencies, ILinqOperatorProvider, Boolean)

此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。

字段

NotTranslatedExpression

表示转换阶段查询树中未翻译表达式的表达式。

此属性通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。

QueryContextParameter

ParameterExpression 表示 QueryContext 查询表达式中的参数。

此属性通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。

QueryParameterPrefix

查询管道中参数提取期间生成的所有查询参数的前缀。

此属性通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。

属性

ContextOptions

在查询编译期间使用的 ContextOptions。

ContextType

在查询编译期间要使用的派生 DbContext 的 CLR 类型。

Dependencies

此服务的依赖项。

IgnoreAutoIncludes

一个 值,该值指示此查询中是否忽略预先加载的导航。

IgnoreQueryFilters

一个值,该值指示此查询中是否忽略查询筛选器。

IsAsync

一个值,该值指示它是否为异步查询。

IsAsyncQuery

获取一个值,该值指示正在处理的查询是否为异步查询。

IsBuffering

一个 值,该值指示基础服务器查询是否需要预先缓冲所有数据。

IsIncludeQuery

查询至少有一个 Include 操作。

IsQueryBufferRequired

获取一个值,该值指示此查询是否需要查询缓冲区。

IsTracking
已过时.

一个值,该值指示它是否在跟踪查询。

IsTrackingQuery

获取一个值,该值指示此查询是否为跟踪查询。

LinqOperatorProvider

获取 LINQ 运算符提供程序。

Logger

在查询编译期间使用的查询记录器。

Model

在查询编译期间要使用的模型。

QueryAnnotations

获取查询注释。

QuerySourceMapping

获取查询源映射。

QueryTrackingBehavior

一个指示 QueryTrackingBehavior 查询的值。

Tags

应用于此查询的标记集。

TrackQueryResults

获取一个值,该值指示默认配置的跟踪行为。

方法

AddAnnotations(IEnumerable<IQueryAnnotation>)

将查询注释添加到现有列表。

AddOrUpdateMapping(IQuerySource, Expression)

添加或更新映射到查询源的表达式。

AddOrUpdateMapping(IQuerySource, IEntityType)

获取映射到给定查询源的实体类型

AddQuerySourceRequiringMaterialization(IQuerySource)

将查询源添加到需要具体化的查询源集。

AddTag(String)

将标记添加到 Tags

AddTrackableInclude(IQuerySource, IReadOnlyList<INavigation>)

添加可跟踪的包含。

CloneAnnotations(QuerySourceMapping, QueryModel)

创建面向新 QueryModel 的克隆批注。

CreateQueryExecutor<TResult>(Expression)

创建提供此查询结果的查询执行程序 func。

CreateQueryModelVisitor()

创建查询模型访问者。

CreateQueryModelVisitor(EntityQueryModelVisitor)

创建查询模型访问者。

DetermineQueryBufferRequirement(QueryModel)

确定查询是否需要查询缓冲区。

FindEntityType(IQuerySource)

获取映射到给定查询源的实体类型

FindQuerySourcesRequiringMaterialization(EntityQueryModelVisitor, QueryModel)

确定需要具体化的所有查询源。

GetTrackableIncludes(IQuerySource)

获取给定查询源的所有可跟踪包含项。

QuerySourceRequiresMaterialization(IQuerySource)

确定查询源是否需要具体化。

RegisterCorrelatedSubqueryMetadata(MainFromClause, Boolean, INavigation, INavigation, IQuerySource)

注册相关集合查询模型与处理它们所需的元数据之间的映射。

RegisterRuntimeParameter(String, LambdaExpression)

注册在编译阶段的某个时间点添加的运行时参数。 必须提供 lambda,每次执行查询时,它都会从 QueryContext 中提取参数的值。

TryGetCorrelatedSubqueryMetadata(MainFromClause, CorrelatedSubqueryMetadata)

查找相关集合查询模型与处理它们所需的元数据之间的映射。

UpdateMapping(QuerySourceMapping)

将查询源映射汇报到新的查询源

适用于