语言

EntityQueryModelVisitor 类

定义

处理要执行的查询的核心访问者。

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

public abstract class EntityQueryModelVisitor : Remotion.Linq.QueryModelVisitorBase
type EntityQueryModelVisitor = class
    inherit QueryModelVisitorBase
Public MustInherit Class EntityQueryModelVisitor
Inherits QueryModelVisitorBase
继承
Remotion.Linq.QueryModelVisitorBase
EntityQueryModelVisitor
派生

构造函数

名称 说明
EntityQueryModelVisitor(EntityQueryModelVisitorDependencies, QueryCompilationContext)

初始化 EntityQueryModelVisitor 类的新实例。

EntityQueryModelVisitor(IQueryOptimizer, INavigationRewritingExpressionVisitorFactory, ISubQueryMemberPushDownExpressionVisitor, IQuerySourceTracingExpressionVisitorFactory, IEntityResultFindingExpressionVisitorFactory, ITaskBlockingExpressionVisitor, IMemberAccessBindingExpressionVisitorFactory, IOrderingExpressionVisitorFactory, IProjectionExpressionVisitorFactory, IEntityQueryableExpressionVisitorFactory, IQueryAnnotationExtractor, IResultOperatorHandler, IEntityMaterializerSource, IExpressionPrinter, QueryCompilationContext)

初始化 EntityQueryModelVisitor 类的新实例。

字段

名称 说明
QueryContextParameter

用于引用 QueryContext 查询参数的表达式。

属性

名称 说明
CurrentParameter

获取当前参数的表达式。

Expression

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

LinqOperatorProvider

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

QueryCompilationContext

QueryCompilationContext获取用于此查询的项。

SelectAsyncMethod

_SelectAsync方法信息。

方法

名称 说明
AddOrUpdateMapping(IQuerySource, Expression)

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

BindMemberExpression(MemberExpression, Action<IProperty,IQuerySource>)

绑定成员表达式。

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

绑定成员表达式。

BindMemberToValueBuffer(MemberExpression, Expression)

将成员访问权限绑定到值缓冲区访问。

BindMethodCallExpression(MethodCallExpression, Action<IProperty,IQuerySource>)

绑定方法调用表达式。

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

绑定方法调用表达式。

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

绑定方法调用表达式。

BindMethodCallToEntity(MethodCallExpression, MethodCallExpression)

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

BindMethodCallToValueBuffer(MethodCallExpression, Expression)

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

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

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

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

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

BindReadValueMethod(Type, Expression, Int32, IProperty)

绑定值缓冲区读取。

BindReadValueMethod(Type, Expression, Int32)

绑定值缓冲区读取。

CallCreateTransparentIdentifier(Type, Expression, Expression)

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

CanOptimizeCorrelatedCollections()

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

CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel)

Remotion.Linq.Clauses.AdditionalFromClause编译节点。

CompileGroupJoinInnerSequenceExpression(GroupJoinClause, QueryModel)

Remotion.Linq.Clauses.GroupJoinClause编译节点。

CompileJoinClauseInnerSequenceExpression(JoinClause, QueryModel)

Remotion.Linq.Clauses.JoinClause编译节点。

CompileMainFromClauseExpression(MainFromClause, QueryModel)

Remotion.Linq.Clauses.MainFromClause编译节点。

CreateAsyncQueryExecutor<TResult>(QueryModel)

创建用于异步执行此查询的操作。

CreateExecutorLambda<TResults>()

创建用于执行此查询的操作。

CreatePropertyExpression(Expression, IProperty)

创建一个表达式来访问给定实体上的给定属性。

CreateQueryExecutor<TResult>(QueryModel)

创建用于执行此查询的操作。

CreateTransparentIdentifierType(Type, Type)

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

ExtractQueryAnnotations(QueryModel)

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

IncludeNavigations(IncludeSpecification, Type, Expression, Boolean)

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

IncludeNavigations(QueryModel, IReadOnlyCollection<IncludeSpecification>)

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

IncludeNavigations(QueryModel)

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

InterceptExceptions()

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

IntroduceTransparentScope(IQuerySource, QueryModel, Int32, Type)

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

IsPropertyMethod(MethodInfo)

确定是否 MethodInfo 引用 Property<TProperty>(Object, String) 方法。

OnBeforeNavigationRewrite(QueryModel)

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

OptimizeQueryModel(QueryModel, Boolean)

将优化应用于查询。

OptimizeQueryModel(QueryModel)

将优化应用于查询。

RemoveOrderings(QueryModel)

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

ReplaceClauseReferences(Expression, IQuerySource, Boolean)

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

RewriteProjectedCollectionNavigationsToIncludes(QueryModel)
已过时.

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

ShouldApplyDefiningQuery(IEntityType, IQuerySource)

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

SingleResultToSequence(QueryModel, Type)

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

TrackEntitiesInResults<TResult>(QueryModel)

将跟踪行为应用于查询。

VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32)

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

VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32)

Remotion.Linq.Clauses.GroupJoinClause访问节点

VisitJoinClause(JoinClause, QueryModel, Int32)

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

VisitMainFromClause(MainFromClause, QueryModel)

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

VisitOrdering(Ordering, QueryModel, OrderByClause, Int32)

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

VisitQueryModel(QueryModel)

访问根 Remotion.Linq.QueryModel 节点。

VisitResultOperator(ResultOperatorBase, QueryModel, Int32)

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

VisitSelectClause(SelectClause, QueryModel)

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

VisitWhereClause(WhereClause, QueryModel, Int32)

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

适用于