RelationalQueryModelVisitor 类

定义

默认的关系 Remotion.Linq.QueryModel 访问者。

public class RelationalQueryModelVisitor : Microsoft.EntityFrameworkCore.Query.EntityQueryModelVisitor
type RelationalQueryModelVisitor = class
    inherit EntityQueryModelVisitor
Public Class RelationalQueryModelVisitor
Inherits EntityQueryModelVisitor
继承
Remotion.Linq.QueryModelVisitorBase
RelationalQueryModelVisitor

构造函数

RelationalQueryModelVisitor(EntityQueryModelVisitorDependencies, RelationalQueryModelVisitorDependencies, RelationalQueryCompilationContext, RelationalQueryModelVisitor)

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

RelationalQueryModelVisitor(IQueryOptimizer, INavigationRewritingExpressionVisitorFactory, ISubQueryMemberPushDownExpressionVisitor, IQuerySourceTracingExpressionVisitorFactory, IEntityResultFindingExpressionVisitorFactory, ITaskBlockingExpressionVisitor, IMemberAccessBindingExpressionVisitorFactory, IOrderingExpressionVisitorFactory, IProjectionExpressionVisitorFactory, IEntityQueryableExpressionVisitorFactory, IQueryAnnotationExtractor, IResultOperatorHandler, IEntityMaterializerSource, IExpressionPrinter, IRelationalAnnotationProvider, IIncludeExpressionVisitorFactory, ISqlTranslatingExpressionVisitorFactory, ICompositePredicateExpressionVisitorFactory, IConditionalRemovingExpressionVisitorFactory, IQueryFlattenerFactory, IDbContextOptions, RelationalQueryCompilationContext, RelationalQueryModelVisitor)

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

属性

CanBindToParentQueryModel

获取或设置一个值,该值指示此查询模型访问者是否能够直接从其父查询绑定到属性,而无需注入参数。

ContextOptions

获取目标上下文的选项。

CurrentParameter

获取当前参数的表达式。

(继承自 EntityQueryModelVisitor)
Expression

获取表示此查询的表达式。

(继承自 EntityQueryModelVisitor)
IsLiftable

获取一个值,该值指示是否可以将查询模型访问者的结果表达式提升到父查询中。 可提升查询包含单个 SelectExpression。

LinqOperatorProvider

获取 Microsoft.EntityFrameworkCore.Query.Internal.ILinqOperatorProvider 用于此查询的 。

(继承自 EntityQueryModelVisitor)
ParentQueryModelVisitor

获取父查询模型访问者,如果没有父级,则为 null。

Queries

当前查询编译中的 SelectExpressions 处于活动状态。

QueriesBySource

此查询的 SelectExpressions,由查询源映射。

QueryCompilationContext

查询编译的上下文。

RequiresClientEval

获取或设置一个值,该值指示查询是否需要客户端评估。

RequiresClientFilter

获取或设置一个值,该值指示查询是否需要客户端筛选器。

RequiresClientJoin

获取或设置一个值,该值指示查询是否需要客户端联接。

RequiresClientOrderBy

获取或设置一个值,该值指示查询是否需要客户端排序依据。

RequiresClientProjection

获取或设置一个值,该值指示查询是否需要客户端投影。

RequiresClientResultOperator

获取或设置一个值,该值指示查询是否需要客户端结果运算符。

RequiresClientSelectMany

获取或设置一个值,该值指示查询是否需要客户端选择多个。

RequiresStreamingGroupResultOperator

获取或设置一个值,该值指示查询是否需要流式处理组结果运算符。

方法

AddOrUpdateMapping(IQuerySource, Expression)

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

(继承自 EntityQueryModelVisitor)
AddQuery(IQuerySource, SelectExpression)

将 SelectExpression 添加到此查询。

BindLocalMethodCallExpression(MethodCallExpression)

绑定本地方法调用表达式。

BindMemberExpression(MemberExpression, Action<IProperty,IQuerySource>)

绑定成员表达式。

(继承自 EntityQueryModelVisitor)
BindMemberExpression<TResult>(MemberExpression, Func<IProperty,IQuerySource,SelectExpression,TResult>, Boolean)

绑定成员表达式。

BindMemberExpression<TResult>(MemberExpression, IQuerySource, Func<IProperty,IQuerySource,TResult>)

绑定成员表达式。

(继承自 EntityQueryModelVisitor)
BindMemberToOuterQueryParameter(MemberExpression)

将成员绑定到外部查询中的参数。

BindMemberToValueBuffer(MemberExpression, Expression)

将成员表达式绑定到值缓冲区访问。

BindMethodCallExpression(MethodCallExpression, Action<IProperty,IQuerySource>)

绑定方法调用表达式。

(继承自 EntityQueryModelVisitor)
BindMethodCallExpression<TResult>(MethodCallExpression, Func<IProperty,IQuerySource,SelectExpression,TResult>, Boolean)

绑定方法调用表达式。

BindMethodCallExpression<TResult>(MethodCallExpression, Func<IProperty,IQuerySource,TResult>)

绑定方法调用表达式。

(继承自 EntityQueryModelVisitor)
BindMethodCallExpression<TResult>(MethodCallExpression, IQuerySource, Func<IProperty,IQuerySource,TResult>)

绑定方法调用表达式。

(继承自 EntityQueryModelVisitor)
BindMethodCallToEntity(MethodCallExpression, MethodCallExpression)

将方法调用绑定到 CLR 或影子属性访问。

(继承自 EntityQueryModelVisitor)
BindMethodCallToValueBuffer(MethodCallExpression, Expression)

将方法调用表达式绑定到值缓冲区访问。

BindMethodToOuterQueryParameter(MethodCallExpression)

将方法调用绑定到外部查询中的参数。

BindNavigationPathPropertyExpression<TResult>(Expression, Func<IEnumerable<IPropertyBase>,IQuerySource,TResult>)

绑定导航路径属性表达式。

(继承自 EntityQueryModelVisitor)
BindNavigationPathPropertyExpression<TResult>(Expression, Func<IReadOnlyList<IPropertyBase>,IQuerySource,TResult>)

绑定导航路径属性表达式。

(继承自 EntityQueryModelVisitor)
BindReadValueMethod(Type, Expression, Int32)

绑定值缓冲区读取。

(继承自 EntityQueryModelVisitor)
BindReadValueMethod(Type, Expression, Int32, IProperty)

绑定值缓冲区读取。

(继承自 EntityQueryModelVisitor)
CallCreateTransparentIdentifier(Type, Expression, Expression)

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

(继承自 EntityQueryModelVisitor)
CanOptimizeCorrelatedCollections()

确定相关集合是否 (是否可以优化任何) 。

CanOptimizeCorrelatedCollections()

确定相关集合是否 (是否可以优化任何) 。

(继承自 EntityQueryModelVisitor)
CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel)

编译其他 from 子句表达式。

CompileGroupJoinInnerSequenceExpression(GroupJoinClause, QueryModel)

编译组联接内部序列表达式。

CompileJoinClauseInnerSequenceExpression(JoinClause, QueryModel)

编译联接子句内部序列表达式。

CompileMainFromClauseExpression(MainFromClause, QueryModel)

从子句表达式编译main。

CreateAsyncQueryExecutor<TResult>(QueryModel)

创建一个操作以异步执行此查询。

(继承自 EntityQueryModelVisitor)
CreateExecutorLambda<TResults>()

创建一个操作来执行此查询。

CreateExecutorLambda<TResults>()

创建一个操作来执行此查询。

(继承自 EntityQueryModelVisitor)
CreateQueryExecutor<TResult>(QueryModel)

创建一个操作来执行此查询。

(继承自 EntityQueryModelVisitor)
CreateTransparentIdentifierType(Type, Type)

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

(继承自 EntityQueryModelVisitor)
ExtractQueryAnnotations(QueryModel)

QueryAnnotations根据在查询中找到的注释填充。

(继承自 EntityQueryModelVisitor)
IncludeNavigations(IncludeSpecification, Type, Expression, Boolean)

调用的高级方法,用于对单个 Include 执行 Include 编译。

IncludeNavigations(IncludeSpecification, Type, Expression, Boolean)

包括 LINQ 查询中请求的特定导航属性。

(继承自 EntityQueryModelVisitor)
IncludeNavigations(QueryModel)

包括 LINQ 查询中请求的相关数据。

(继承自 EntityQueryModelVisitor)
IncludeNavigations(QueryModel, IReadOnlyCollection<IncludeSpecification>)

调用的高级方法以执行 Include 编译。

IncludeNavigations(QueryModel, IReadOnlyCollection<IncludeSpecification>)

包括 LINQ 查询中请求的相关数据。

(继承自 EntityQueryModelVisitor)
InterceptExceptions()

执行查询并记录发生的任何异常。

(继承自 EntityQueryModelVisitor)
IntroduceTransparentScope(IQuerySource, QueryModel, Int32, Type)

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

(继承自 EntityQueryModelVisitor)
LiftInjectedParameters(RelationalQueryModelVisitor)

将注入子查询的外部参数提升到此查询模型访问者正在生成的查询表达式中,以便可以提升子查询。

OnBeforeNavigationRewrite(QueryModel)

在重写查询模型的导航之前对其进行预处理。

OnBeforeNavigationRewrite(QueryModel)

在重写查询模型的导航之前对其进行预处理。

(继承自 EntityQueryModelVisitor)
OptimizeJoinClause(JoinClause, QueryModel, Int32, Action, MethodInfo, Boolean)

优化联接子句。

OptimizeQueryModel(QueryModel)

将优化应用于查询。

(继承自 EntityQueryModelVisitor)
OptimizeQueryModel(QueryModel, Boolean)

将优化应用于查询。

OptimizeQueryModel(QueryModel, Boolean)

将优化应用于查询。

(继承自 EntityQueryModelVisitor)
RegisterSubQueryVisitor(IQuerySource, RelationalQueryModelVisitor)

注册子查询访问者。

RemoveOrderings(QueryModel)

删除给定查询模型的排序。

RemoveOrderings(QueryModel)

删除给定查询模型的排序。

(继承自 EntityQueryModelVisitor)
ReplaceClauseReferences(Expression, IQuerySource, Boolean)

将 re-linq 查询模型表达式转换为已编译的查询表达式。

(继承自 EntityQueryModelVisitor)
RewriteProjectedCollectionNavigationsToIncludes(QueryModel)
已过时.

重写集合导航投影,以便“包含”管道可以处理它们。

(继承自 EntityQueryModelVisitor)
ShouldApplyDefiningQuery(IEntityType, IQuerySource)

确定在查询目标实体类型时是否应应用定义查询。

ShouldApplyDefiningQuery(IEntityType, IQuerySource)

确定在查询目标实体类型时是否应应用定义查询。

(继承自 EntityQueryModelVisitor)
SingleResultToSequence(QueryModel, Type)

将查询结果从单个结果转换为一系列结果。

(继承自 EntityQueryModelVisitor)
TrackEntitiesInResults<TResult>(QueryModel)

将跟踪行为应用于查询。

(继承自 EntityQueryModelVisitor)
TryGetQuery(IQuerySource)

尝试获取给定查询源的活动 SelectExpression。

VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32)

访问其他 from 子句。

VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32)

访问 group join 子句。

VisitJoinClause(JoinClause, QueryModel, Int32)

访问 join 子句。

VisitMainFromClause(MainFromClause, QueryModel)

Remotion.Linq.Clauses.MainFromClause访问节点。

(继承自 EntityQueryModelVisitor)
VisitOrderByClause(OrderByClause, QueryModel, Int32)

访问 order by 子句。

VisitOrdering(Ordering, QueryModel, OrderByClause, Int32)

Remotion.Linq.Clauses.Ordering访问节点。

(继承自 EntityQueryModelVisitor)
VisitQueryModel(QueryModel)

访问查询模型。

VisitResultOperator(ResultOperatorBase, QueryModel, Int32)

访问结果运算符。

VisitSelectClause(SelectClause, QueryModel)

Remotion.Linq.Clauses.SelectClause访问节点。

VisitSelectClause(SelectClause, QueryModel)

Remotion.Linq.Clauses.SelectClause访问节点。

(继承自 EntityQueryModelVisitor)
VisitSubQueryModel(QueryModel)

访问子查询模型。

VisitWhereClause(WhereClause, QueryModel, Int32)

访问 where 子句。

WarnClientEval(Object)

生成客户端评估警告

WarnClientEval(QueryModel, Object)

生成客户端评估警告

适用于