RelationalQueryModelVisitor Class

Definition

The default relational Remotion.Linq.QueryModel visitor.

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

Constructors

RelationalQueryModelVisitor(EntityQueryModelVisitorDependencies, RelationalQueryModelVisitorDependencies, RelationalQueryCompilationContext, RelationalQueryModelVisitor)

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.

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

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.

Properties

CanBindToParentQueryModel

Gets or sets a value indicating whether this query model visitor will be able to bind directly to properties from its parent query without requiring parameter injection.

ContextOptions

Gets the options for the target context.

CurrentParameter

Gets the expression for the current parameter.

(Inherited from EntityQueryModelVisitor)
Expression

Gets the expression that represents this query.

(Inherited from EntityQueryModelVisitor)
IsLiftable

Gets a value indicating whether query model visitor's resulting expression can be lifted into the parent query. Liftable queries contain a single SelectExpression.

LinqOperatorProvider

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

(Inherited from EntityQueryModelVisitor)
ParentQueryModelVisitor

Gets the parent query model visitor, or null if there is no parent.

Queries

The SelectExpressions active in the current query compilation.

QueriesBySource

The SelectExpressions for this query, mapped by query source.

QueryCompilationContext

Context for the query compilation.

RequiresClientEval

Gets or sets a value indicating whether the query requires client eval.

RequiresClientFilter

Gets or sets a value indicating whether the query requires client filter.

RequiresClientJoin

Gets or sets a value indicating whether the query requires client join.

RequiresClientOrderBy

Gets or sets a value indicating whether the query requires client order by.

RequiresClientProjection

Gets or sets a value indicating whether the query requires client projection.

RequiresClientResultOperator

Gets or sets a value indicating whether the query requires client result operator.

RequiresClientSelectMany

Gets or sets a value indicating whether the query requires client select many.

RequiresStreamingGroupResultOperator

Gets or sets a value indicating whether the query requires streaming group result operator.

Methods

AddOrUpdateMapping(IQuerySource, Expression)

Adds or updates the expression mapped to a query source.

(Inherited from EntityQueryModelVisitor)
AddQuery(IQuerySource, SelectExpression)

Adds a SelectExpression to this query.

BindLocalMethodCallExpression(MethodCallExpression)

Bind a local method call expression.

BindMemberExpression(MemberExpression, Action<IProperty,IQuerySource>)

Binds a member expression.

(Inherited from EntityQueryModelVisitor)
BindMemberExpression<TResult>(MemberExpression, Func<IProperty,IQuerySource,SelectExpression,TResult>, Boolean)

Bind a member expression.

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

Binds a member expression.

(Inherited from EntityQueryModelVisitor)
BindMemberToOuterQueryParameter(MemberExpression)

Bind a member to a parameter from the outer query.

BindMemberToValueBuffer(MemberExpression, Expression)

Bind a member expression to a value buffer access.

BindMethodCallExpression(MethodCallExpression, Action<IProperty,IQuerySource>)

Binds a method call expression.

(Inherited from EntityQueryModelVisitor)
BindMethodCallExpression<TResult>(MethodCallExpression, Func<IProperty,IQuerySource,SelectExpression,TResult>, Boolean)

Bind a method call expression.

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

Binds a method call expression.

(Inherited from EntityQueryModelVisitor)
BindMethodCallExpression<TResult>(MethodCallExpression, IQuerySource, Func<IProperty,IQuerySource,TResult>)

Binds a method call expression.

(Inherited from EntityQueryModelVisitor)
BindMethodCallToEntity(MethodCallExpression, MethodCallExpression)

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

(Inherited from EntityQueryModelVisitor)
BindMethodCallToValueBuffer(MethodCallExpression, Expression)

Bind a method call expression to a value buffer access.

BindMethodToOuterQueryParameter(MethodCallExpression)

Bind a method call to a parameter from the outer query.

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

Binds a navigation path property expression.

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

Binds a navigation path property expression.

(Inherited from EntityQueryModelVisitor)
BindReadValueMethod(Type, Expression, Int32)

Binds a value buffer read.

(Inherited from EntityQueryModelVisitor)
BindReadValueMethod(Type, Expression, Int32, IProperty)

Binds a value buffer read.

(Inherited from EntityQueryModelVisitor)
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.

(Inherited from EntityQueryModelVisitor)
CanOptimizeCorrelatedCollections()

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

CanOptimizeCorrelatedCollections()

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

(Inherited from EntityQueryModelVisitor)
CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel)

Compile an additional from clause expression.

CompileGroupJoinInnerSequenceExpression(GroupJoinClause, QueryModel)

Compile a group join inner sequence expression.

CompileJoinClauseInnerSequenceExpression(JoinClause, QueryModel)

Compile a join clause inner sequence expression.

CompileMainFromClauseExpression(MainFromClause, QueryModel)

Compile main from clause expression.

CreateAsyncQueryExecutor<TResult>(QueryModel)

Creates an action to asynchronously execute this query.

(Inherited from EntityQueryModelVisitor)
CreateExecutorLambda<TResults>()

Creates an action to execute this query.

CreateExecutorLambda<TResults>()

Creates an action to execute this query.

(Inherited from EntityQueryModelVisitor)
CreateQueryExecutor<TResult>(QueryModel)

Creates an action to execute this query.

(Inherited from EntityQueryModelVisitor)
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.

(Inherited from EntityQueryModelVisitor)
ExtractQueryAnnotations(QueryModel)

Populates QueryAnnotations based on annotations found in the query.

(Inherited from EntityQueryModelVisitor)
IncludeNavigations(IncludeSpecification, Type, Expression, Boolean)

High-level method called to perform Include compilation for a single Include.

IncludeNavigations(IncludeSpecification, Type, Expression, Boolean)

Includes a specific navigation property requested in the LINQ query.

(Inherited from EntityQueryModelVisitor)
IncludeNavigations(QueryModel)

Includes related data requested in the LINQ query.

(Inherited from EntityQueryModelVisitor)
IncludeNavigations(QueryModel, IReadOnlyCollection<IncludeSpecification>)

High-level method called to perform Include compilation.

IncludeNavigations(QueryModel, IReadOnlyCollection<IncludeSpecification>)

Includes related data requested in the LINQ query.

(Inherited from EntityQueryModelVisitor)
InterceptExceptions()

Executes the query and logs any exceptions that occur.

(Inherited from EntityQueryModelVisitor)
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.

(Inherited from EntityQueryModelVisitor)
LiftInjectedParameters(RelationalQueryModelVisitor)

Lifts the outer parameters injected into a subquery into the query expression that is being built by this query model visitor, so that the subquery can be lifted.

OnBeforeNavigationRewrite(QueryModel)

Pre-processes query model before we rewrite its navigations.

OnBeforeNavigationRewrite(QueryModel)

Pre-processes query model before we rewrite its navigations.

(Inherited from EntityQueryModelVisitor)
OptimizeJoinClause(JoinClause, QueryModel, Int32, Action, MethodInfo, Boolean)

Optimize a join clause.

OptimizeQueryModel(QueryModel)

Applies optimizations to the query.

(Inherited from EntityQueryModelVisitor)
OptimizeQueryModel(QueryModel, Boolean)

Applies optimizations to the query.

OptimizeQueryModel(QueryModel, Boolean)

Applies optimizations to the query.

(Inherited from EntityQueryModelVisitor)
RegisterSubQueryVisitor(IQuerySource, RelationalQueryModelVisitor)

Registers a sub query visitor.

RemoveOrderings(QueryModel)

Removes orderings for a given query model.

RemoveOrderings(QueryModel)

Removes orderings for a given query model.

(Inherited from EntityQueryModelVisitor)
ReplaceClauseReferences(Expression, IQuerySource, Boolean)

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

(Inherited from EntityQueryModelVisitor)
RewriteProjectedCollectionNavigationsToIncludes(QueryModel)
Obsolete.

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

(Inherited from EntityQueryModelVisitor)
ShouldApplyDefiningQuery(IEntityType, IQuerySource)

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

ShouldApplyDefiningQuery(IEntityType, IQuerySource)

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

(Inherited from EntityQueryModelVisitor)
SingleResultToSequence(QueryModel, Type)

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

(Inherited from EntityQueryModelVisitor)
TrackEntitiesInResults<TResult>(QueryModel)

Applies tracking behavior to the query.

(Inherited from EntityQueryModelVisitor)
TryGetQuery(IQuerySource)

Try and get the active SelectExpression for a given query source.

VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32)

Visit an additional from clause.

VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32)

Visit a group join clause.

VisitJoinClause(JoinClause, QueryModel, Int32)

Visit a join clause.

VisitMainFromClause(MainFromClause, QueryModel)

Visits the Remotion.Linq.Clauses.MainFromClause node.

(Inherited from EntityQueryModelVisitor)
VisitOrderByClause(OrderByClause, QueryModel, Int32)

Visit an order by clause.

VisitOrdering(Ordering, QueryModel, OrderByClause, Int32)

Visits Remotion.Linq.Clauses.Ordering nodes.

(Inherited from EntityQueryModelVisitor)
VisitQueryModel(QueryModel)

Visit a query model.

VisitResultOperator(ResultOperatorBase, QueryModel, Int32)

Visit a result operator.

VisitSelectClause(SelectClause, QueryModel)

Visits Remotion.Linq.Clauses.SelectClause nodes.

VisitSelectClause(SelectClause, QueryModel)

Visits Remotion.Linq.Clauses.SelectClause nodes.

(Inherited from EntityQueryModelVisitor)
VisitSubQueryModel(QueryModel)

Visit a sub-query model.

VisitWhereClause(WhereClause, QueryModel, Int32)

Visit a where clause.

WarnClientEval(Object)

Generated a client-eval warning

WarnClientEval(QueryModel, Object)

Generated a client-eval warning

Applies to