语言

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 或 shadow 属性访问。

(继承自 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, IProperty)

绑定值缓冲区读取。

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

绑定值缓冲区读取。

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

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

(继承自 EntityQueryModelVisitor)
CanOptimizeCorrelatedCollections()

确定是否可以优化相关集合(如果有)。

CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel)

从子句表达式编译其他项。

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(QueryModel, IReadOnlyCollection<IncludeSpecification>)

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

IncludeNavigations(QueryModel)

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

(继承自 EntityQueryModelVisitor)
InterceptExceptions()

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

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

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

(继承自 EntityQueryModelVisitor)
LiftInjectedParameters(RelationalQueryModelVisitor)

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

OnBeforeNavigationRewrite(QueryModel)

在重写查询模型导航之前预处理查询模型。

OptimizeJoinClause(JoinClause, QueryModel, Int32, Action, MethodInfo, Boolean)

优化联接子句。

OptimizeQueryModel(QueryModel, Boolean)

将优化应用于查询。

OptimizeQueryModel(QueryModel)

将优化应用于查询。

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

注册子查询访问者。

RemoveOrderings(QueryModel)

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

ReplaceClauseReferences(Expression, IQuerySource, Boolean)

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

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

重写集合导航投影,以便它们可由 Include 管道处理。

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

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

SingleResultToSequence(QueryModel, Type)

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

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

将跟踪行为应用于查询。

(继承自 EntityQueryModelVisitor)
TryGetQuery(IQuerySource)

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

VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32)

访问另一个 from 子句。

VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32)

访问组联接子句。

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)

生成了 client-eval 警告

WarnClientEval(QueryModel, Object)

生成了 client-eval 警告

适用于