RelationalQueryModelVisitor RelationalQueryModelVisitor 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.QueryModelVisitorBaseRemotion.Linq.QueryModelVisitorBaseRemotion.Linq.QueryModelVisitorBase
RelationalQueryModelVisitorRelationalQueryModelVisitorRelationalQueryModelVisitor
Derived

Constructors

RelationalQueryModelVisitor(EntityQueryModelVisitorDependencies, RelationalQueryModelVisitorDependencies, RelationalQueryCompilationContext, RelationalQueryModelVisitor) RelationalQueryModelVisitor(EntityQueryModelVisitorDependencies, RelationalQueryModelVisitorDependencies, RelationalQueryCompilationContext, RelationalQueryModelVisitor) 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) RelationalQueryModelVisitor(IQueryOptimizer, INavigationRewritingExpressionVisitorFactory, ISubQueryMemberPushDownExpressionVisitor, IQuerySourceTracingExpressionVisitorFactory, IEntityResultFindingExpressionVisitorFactory, ITaskBlockingExpressionVisitor, IMemberAccessBindingExpressionVisitorFactory, IOrderingExpressionVisitorFactory, IProjectionExpressionVisitorFactory, IEntityQueryableExpressionVisitorFactory, IQueryAnnotationExtractor, IResultOperatorHandler, IEntityMaterializerSource, IExpressionPrinter, IRelationalAnnotationProvider, IIncludeExpressionVisitorFactory, ISqlTranslatingExpressionVisitorFactory, ICompositePredicateExpressionVisitorFactory, IConditionalRemovingExpressionVisitorFactory, IQueryFlattenerFactory, IDbContextOptions, RelationalQueryCompilationContext, RelationalQueryModelVisitor) 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 CanBindToParentQueryModel 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 ContextOptions ContextOptions

Gets the options for the target context.

CurrentParameter CurrentParameter CurrentParameter

Gets the expression for the current parameter.

(Inherited from EntityQueryModelVisitor)
Expression Expression Expression

Gets the expression that represents this query.

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

Gets the ILinqOperatorProvider being used for this query.

(Inherited from EntityQueryModelVisitor)
ParentQueryModelVisitor ParentQueryModelVisitor ParentQueryModelVisitor

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

Queries Queries Queries

The SelectExpressions active in the current query compilation.

QueriesBySource QueriesBySource QueriesBySource

The SelectExpressions for this query, mapped by query source.

QueryCompilationContext QueryCompilationContext QueryCompilationContext

Context for the query compilation.

RequiresClientEval RequiresClientEval RequiresClientEval

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

RequiresClientFilter RequiresClientFilter RequiresClientFilter

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

RequiresClientJoin RequiresClientJoin RequiresClientJoin

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

RequiresClientOrderBy RequiresClientOrderBy RequiresClientOrderBy

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

RequiresClientProjection RequiresClientProjection RequiresClientProjection

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

RequiresClientResultOperator RequiresClientResultOperator RequiresClientResultOperator

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

RequiresClientSelectMany RequiresClientSelectMany RequiresClientSelectMany

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

RequiresStreamingGroupResultOperator RequiresStreamingGroupResultOperator RequiresStreamingGroupResultOperator

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

Methods

AddOrUpdateMapping(IQuerySource, Expression) AddOrUpdateMapping(IQuerySource, Expression) AddOrUpdateMapping(IQuerySource, Expression)

Adds or updates the expression mapped to a query source.

(Inherited from EntityQueryModelVisitor)
AddQuery(IQuerySource, SelectExpression) AddQuery(IQuerySource, SelectExpression) AddQuery(IQuerySource, SelectExpression)

Adds a SelectExpression to this query.

BindLocalMethodCallExpression(MethodCallExpression) BindLocalMethodCallExpression(MethodCallExpression) BindLocalMethodCallExpression(MethodCallExpression)

Bind a local method call expression.

BindMemberExpression(MemberExpression, Action<IProperty,IQuerySource>) BindMemberExpression(MemberExpression, Action<IProperty,IQuerySource>) BindMemberExpression(MemberExpression, Action<IProperty,IQuerySource>)

Binds a member expression.

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

Bind a member expression.

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

Binds a member expression.

(Inherited from EntityQueryModelVisitor)
BindMemberToOuterQueryParameter(MemberExpression) BindMemberToOuterQueryParameter(MemberExpression) BindMemberToOuterQueryParameter(MemberExpression)

Bind a member to a parameter from the outer query.

BindMemberToValueBuffer(MemberExpression, Expression) BindMemberToValueBuffer(MemberExpression, Expression) BindMemberToValueBuffer(MemberExpression, Expression)

Bind a member expression to a value buffer access.

BindMethodCallExpression(MethodCallExpression, Action<IProperty,IQuerySource>) BindMethodCallExpression(MethodCallExpression, Action<IProperty,IQuerySource>) BindMethodCallExpression(MethodCallExpression, Action<IProperty,IQuerySource>)

Binds a method call expression.

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

Bind a method call expression.

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

Binds a method call expression.

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

Binds a method call expression.

(Inherited from EntityQueryModelVisitor)
BindMethodCallToValueBuffer(MethodCallExpression, Expression) BindMethodCallToValueBuffer(MethodCallExpression, Expression) BindMethodCallToValueBuffer(MethodCallExpression, Expression)

Bind a method call expression to a value buffer access.

BindMethodToOuterQueryParameter(MethodCallExpression) BindMethodToOuterQueryParameter(MethodCallExpression) BindMethodToOuterQueryParameter(MethodCallExpression)

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

BindNavigationPathPropertyExpression<TResult>(Expression, Func<IEnumerable<IPropertyBase>,IQuerySource,TResult>) BindNavigationPathPropertyExpression<TResult>(Expression, Func<IEnumerable<IPropertyBase>,IQuerySource,TResult>) 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>) BindNavigationPathPropertyExpression<TResult>(Expression, Func<IReadOnlyList<IPropertyBase>,IQuerySource,TResult>) BindNavigationPathPropertyExpression<TResult>(Expression, Func<IReadOnlyList<IPropertyBase>,IQuerySource,TResult>)

Binds a navigation path property expression.

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

Binds a value buffer read.

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

Binds a value buffer read.

(Inherited from EntityQueryModelVisitor)
CallCreateTransparentIdentifier(Type, Expression, Expression) CallCreateTransparentIdentifier(Type, Expression, Expression) 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() CanOptimizeCorrelatedCollections() CanOptimizeCorrelatedCollections()

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

CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel) CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel) CompileAdditionalFromClauseExpression(AdditionalFromClause, QueryModel)

Compile an additional from clause expression.

CompileGroupJoinInnerSequenceExpression(GroupJoinClause, QueryModel) CompileGroupJoinInnerSequenceExpression(GroupJoinClause, QueryModel) CompileGroupJoinInnerSequenceExpression(GroupJoinClause, QueryModel)

Compile a group join inner sequence expression.

CompileJoinClauseInnerSequenceExpression(JoinClause, QueryModel) CompileJoinClauseInnerSequenceExpression(JoinClause, QueryModel) CompileJoinClauseInnerSequenceExpression(JoinClause, QueryModel)

Compile a join clause inner sequence expression.

CompileMainFromClauseExpression(MainFromClause, QueryModel) CompileMainFromClauseExpression(MainFromClause, QueryModel) CompileMainFromClauseExpression(MainFromClause, QueryModel)

Compile main from clause expression.

CreateAsyncQueryExecutor<TResult>(QueryModel) CreateAsyncQueryExecutor<TResult>(QueryModel) CreateAsyncQueryExecutor<TResult>(QueryModel)

Creates an action to asynchronously execute this query.

(Inherited from EntityQueryModelVisitor)
CreateExecutorLambda<TResults>() CreateExecutorLambda<TResults>() CreateExecutorLambda<TResults>()

Creates an action to execute this query.

CreateQueryExecutor<TResult>(QueryModel) CreateQueryExecutor<TResult>(QueryModel) CreateQueryExecutor<TResult>(QueryModel)

Creates an action to execute this query.

(Inherited from EntityQueryModelVisitor)
CreateTransparentIdentifierType(Type, Type) CreateTransparentIdentifierType(Type, Type) 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) ExtractQueryAnnotations(QueryModel) ExtractQueryAnnotations(QueryModel)

Populates QueryAnnotations based on annotations found in the query.

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

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

IncludeNavigations(QueryModel) IncludeNavigations(QueryModel) IncludeNavigations(QueryModel)

Includes related data requested in the LINQ query.

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

High-level method called to perform Include compilation.

InterceptExceptions() InterceptExceptions() InterceptExceptions()

Executes the query and logs any exceptions that occur.

(Inherited from EntityQueryModelVisitor)
IntroduceTransparentScope(IQuerySource, QueryModel, Int32, Type) IntroduceTransparentScope(IQuerySource, QueryModel, Int32, Type) 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) LiftInjectedParameters(RelationalQueryModelVisitor) 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) OnBeforeNavigationRewrite(QueryModel) OnBeforeNavigationRewrite(QueryModel)

Pre-processes query model before we rewrite its navigations.

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

Optimize a join clause.

OptimizeQueryModel(QueryModel) OptimizeQueryModel(QueryModel) OptimizeQueryModel(QueryModel)

Applies optimizations to the query.

(Inherited from EntityQueryModelVisitor)
OptimizeQueryModel(QueryModel, Boolean) OptimizeQueryModel(QueryModel, Boolean) OptimizeQueryModel(QueryModel, Boolean)

Applies optimizations to the query.

RegisterSubQueryVisitor(IQuerySource, RelationalQueryModelVisitor) RegisterSubQueryVisitor(IQuerySource, RelationalQueryModelVisitor) RegisterSubQueryVisitor(IQuerySource, RelationalQueryModelVisitor)

Registers a sub query visitor.

ReplaceClauseReferences(Expression, IQuerySource, Boolean) ReplaceClauseReferences(Expression, IQuerySource, Boolean) ReplaceClauseReferences(Expression, IQuerySource, Boolean)

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

(Inherited from EntityQueryModelVisitor)
RewriteProjectedCollectionNavigationsToIncludes(QueryModel) RewriteProjectedCollectionNavigationsToIncludes(QueryModel) RewriteProjectedCollectionNavigationsToIncludes(QueryModel)

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

(Inherited from EntityQueryModelVisitor)
ShouldApplyDefiningQuery(IEntityType, IQuerySource) ShouldApplyDefiningQuery(IEntityType, IQuerySource) ShouldApplyDefiningQuery(IEntityType, IQuerySource)

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

SingleResultToSequence(QueryModel, Type) SingleResultToSequence(QueryModel, Type) SingleResultToSequence(QueryModel, Type)

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

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

Applies tracking behavior to the query.

(Inherited from EntityQueryModelVisitor)
TryGetQuery(IQuerySource) TryGetQuery(IQuerySource) TryGetQuery(IQuerySource)

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

VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32) VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32) VisitAdditionalFromClause(AdditionalFromClause, QueryModel, Int32)

Visit an additional from clause.

VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32) VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32) VisitGroupJoinClause(GroupJoinClause, QueryModel, Int32)

Visit a group join clause.

VisitJoinClause(JoinClause, QueryModel, Int32) VisitJoinClause(JoinClause, QueryModel, Int32) VisitJoinClause(JoinClause, QueryModel, Int32)

Visit a join clause.

VisitMainFromClause(MainFromClause, QueryModel) VisitMainFromClause(MainFromClause, QueryModel) VisitMainFromClause(MainFromClause, QueryModel)

Visits the Remotion.Linq.Clauses.MainFromClause node.

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

Visit an order by clause.

VisitOrdering(Ordering, QueryModel, OrderByClause, Int32) VisitOrdering(Ordering, QueryModel, OrderByClause, Int32) VisitOrdering(Ordering, QueryModel, OrderByClause, Int32)

Visits Remotion.Linq.Clauses.Ordering nodes.

(Inherited from EntityQueryModelVisitor)
VisitQueryModel(QueryModel) VisitQueryModel(QueryModel) VisitQueryModel(QueryModel)

Visit a query model.

VisitResultOperator(ResultOperatorBase, QueryModel, Int32) VisitResultOperator(ResultOperatorBase, QueryModel, Int32) VisitResultOperator(ResultOperatorBase, QueryModel, Int32)

Visit a result operator.

VisitSelectClause(SelectClause, QueryModel) VisitSelectClause(SelectClause, QueryModel) VisitSelectClause(SelectClause, QueryModel)

Visits Remotion.Linq.Clauses.SelectClause nodes.

VisitSubQueryModel(QueryModel) VisitSubQueryModel(QueryModel) VisitSubQueryModel(QueryModel)

Visit a sub-query model.

VisitWhereClause(WhereClause, QueryModel, Int32) VisitWhereClause(WhereClause, QueryModel, Int32) VisitWhereClause(WhereClause, QueryModel, Int32)

Visit a where clause.

WarnClientEval(Object) WarnClientEval(Object) WarnClientEval(Object)

Generated a client-eval warning

WarnClientEval(QueryModel, Object) WarnClientEval(QueryModel, Object) WarnClientEval(QueryModel, Object)

Generated a client-eval warning

Applies to