EntityQueryModelVisitor Class

Definition

The core visitor that processes a query to be executed.

This type is typically used by database providers (and other extensions). It is generally not used in application code.

public abstract class EntityQueryModelVisitor : Remotion.Linq.QueryModelVisitorBase
type EntityQueryModelVisitor = class
    inherit QueryModelVisitorBase
Public MustInherit Class EntityQueryModelVisitor
Inherits QueryModelVisitorBase
Inheritance
Remotion.Linq.QueryModelVisitorBase
EntityQueryModelVisitor
Derived

Constructors

EntityQueryModelVisitor(EntityQueryModelVisitorDependencies, QueryCompilationContext)

Initializes a new instance of the EntityQueryModelVisitor class.

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

Initializes a new instance of the EntityQueryModelVisitor class.

Fields

QueryContextParameter

Expression to reference the QueryContext parameter for a query.

Properties

CurrentParameter

Gets the expression for the current parameter.

Expression

Gets the expression that represents this query.

LinqOperatorProvider

Gets the Microsoft.EntityFrameworkCore.Query.Internal.ILinqOperatorProvider being used for this query.

QueryCompilationContext

Gets the QueryCompilationContext being used for this query.

SelectAsyncMethod

The _SelectAsync method info.

Methods

AddOrUpdateMapping(IQuerySource, Expression)

Adds or updates the expression mapped to a query source.

BindMemberExpression(MemberExpression, Action<IProperty,IQuerySource>)

Binds a member expression.

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

Binds a member expression.

BindMemberToValueBuffer(MemberExpression, Expression)

Binds a member access to a value buffer access.

BindMethodCallExpression(MethodCallExpression, Action<IProperty,IQuerySource>)

Binds a method call expression.

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

Binds a method call expression.

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

Binds a method call expression.

BindMethodCallToEntity(MethodCallExpression, MethodCallExpression)

Binds a method call to a CLR or shadow property access.

BindMethodCallToValueBuffer(MethodCallExpression, Expression)

Binds a method call to a value buffer access.

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

Binds a navigation path property expression.

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

Binds a navigation path property expression.

BindReadValueMethod(Type, Expression, Int32)

Binds a value buffer read.

BindReadValueMethod(Type, Expression, Int32, IProperty)

Binds a value buffer read.

CallCreateTransparentIdentifier(Type, Expression, Expression)

This API supports the Entity Framework Core infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases.

CanOptimizeCorrelatedCollections()

Determines whether correlated collections (if any) can be optimized.

CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel)

Compiles Remotion.Linq.Clauses.AdditionalFromClause nodes.

CompileGroupJoinInnerSequenceExpression(GroupJoinClause, QueryModel)

Compiles Remotion.Linq.Clauses.GroupJoinClause nodes.

CompileJoinClauseInnerSequenceExpression(JoinClause, QueryModel)

Compiles Remotion.Linq.Clauses.JoinClause nodes.

CompileMainFromClauseExpression(MainFromClause, QueryModel)

Compiles the Remotion.Linq.Clauses.MainFromClause node.

CreateAsyncQueryExecutor<TResult>(QueryModel)

Creates an action to asynchronously execute this query.

CreateExecutorLambda<TResults>()

Creates an action to execute this query.

CreatePropertyExpression(Expression, IProperty)

Creates an expression to access the given property on an given entity.

CreateQueryExecutor<TResult>(QueryModel)

Creates an action to execute this query.

CreateTransparentIdentifierType(Type, Type)

This API supports the Entity Framework Core infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases.

ExtractQueryAnnotations(QueryModel)

Populates QueryAnnotations based on annotations found in the query.

IncludeNavigations(IncludeSpecification, Type, Expression, Boolean)

Includes a specific navigation property requested in the LINQ query.

IncludeNavigations(QueryModel)

Includes related data requested in the LINQ query.

IncludeNavigations(QueryModel, IReadOnlyCollection<IncludeSpecification>)

Includes related data requested in the LINQ query.

InterceptExceptions()

Executes the query and logs any exceptions that occur.

IntroduceTransparentScope(IQuerySource, QueryModel, Int32, Type)

This API supports the Entity Framework Core infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases.

IsPropertyMethod(MethodInfo)

Determines if a MethodInfo is referencing the Property<TProperty>(Object, String) method.

OnBeforeNavigationRewrite(QueryModel)

Pre-processes query model before we rewrite its navigations.

OptimizeQueryModel(QueryModel)

Applies optimizations to the query.

OptimizeQueryModel(QueryModel, Boolean)

Applies optimizations to the query.

RemoveOrderings(QueryModel)

Removes orderings for a given query model.

ReplaceClauseReferences(Expression, IQuerySource, Boolean)

Translates a re-linq query model expression into a compiled query expression.

RewriteProjectedCollectionNavigationsToIncludes(QueryModel)
Obsolete.

Rewrites collection navigation projections so that they can be handled by the Include pipeline.

ShouldApplyDefiningQuery(IEntityType, IQuerySource)

Determine whether a defining query should be applied when querying the target entity type.

SingleResultToSequence(QueryModel, Type)

Converts the results of the query from a single result to a series of results.

TrackEntitiesInResults<TResult>(QueryModel)

Applies tracking behavior to the query.

VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32)

Visits Remotion.Linq.Clauses.AdditionalFromClause nodes.

VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32)

Visits Remotion.Linq.Clauses.GroupJoinClause nodes

VisitJoinClause(JoinClause, QueryModel, Int32)

Visits Remotion.Linq.Clauses.JoinClause nodes.

VisitMainFromClause(MainFromClause, QueryModel)

Visits the Remotion.Linq.Clauses.MainFromClause node.

VisitOrdering(Ordering, QueryModel, OrderByClause, Int32)

Visits Remotion.Linq.Clauses.Ordering nodes.

VisitQueryModel(QueryModel)

Visits the root Remotion.Linq.QueryModel node.

VisitResultOperator(ResultOperatorBase, QueryModel, Int32)

Visits Remotion.Linq.Clauses.ResultOperatorBase nodes.

VisitSelectClause(SelectClause, QueryModel)

Visits Remotion.Linq.Clauses.SelectClause nodes.

VisitWhereClause(WhereClause, QueryModel, Int32)

Visits Remotion.Linq.Clauses.WhereClause nodes.

Applies to