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

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)

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

RewriteProjectedCollectionNavigationsToIncludes(QueryModel)
已过时.

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

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访问节点。

适用于