语言

QueryCompilationContext 类

定义

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

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

public class QueryCompilationContext
[System.Runtime.CompilerServices.Nullable(0)]
public class QueryCompilationContext
type QueryCompilationContext = class
[<System.Runtime.CompilerServices.Nullable(0)>]
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, Boolean, IReadOnlySet<String>)

创建类的新实例 QueryCompilationContext 。

QueryCompilationContext(QueryCompilationContextDependencies, Boolean, Boolean)

创建类的新实例 QueryCompilationContext 。

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

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

IgnoredQueryFilters

忽略的查询筛选器的集合。

IgnoreQueryFilters

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

IsAsync

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

IsAsyncQuery

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

IsBuffering

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

IsIncludeQuery

查询至少有一个 Include 操作。

IsPrecompiling

指示是否正在预编译查询。

IsQueryBufferRequired

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

IsTracking
已过时.

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

IsTrackingQuery

获取一个值,该值指示这是跟踪查询。

LinqOperatorProvider

获取 LINQ 运算符提供程序。

Logger

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

Model

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

NonNullableReferenceTypeParameters

具有不可为 null 引用类型的参数的名称。

ParametersToConstantize

所使用的 Constant<T>(T) 参数的名称。 这些参数稍后会转换为常量。

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

ParametersToNotConstantize

所使用的 Parameter<T>(T) 参数的名称。 即使参数化集合常量化配置为默认值,此类参数以后也不会转换为常量。

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

QueryAnnotations

获取查询注释。

QuerySourceMapping

获取查询源映射。

QueryTrackingBehavior

一个指示 QueryTrackingBehavior 查询的值。

SupportsPrecompiledQuery

一个值,该值指示提供程序是否支持预编译查询。 默认值为 false。 支持此功能的提供程序应选择加入,方法是将此值设置为 true。

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。

CreateQueryExecutorExpression<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,每次执行查询时,该 lambda 将从 QueryContext 中提取参数的值。

TryGetCorrelatedSubqueryMetadata(MainFromClause, CorrelatedSubqueryMetadata)

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

UpdateMapping(QuerySourceMapping)

将查询源映射更新到新的查询源

适用于