EntityQueryModelVisitor 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 : QueryModelVisitorBase
Public MustInherit Class EntityQueryModelVisitor
    Inherits QueryModelVisitorBase
Inheritance
System.ObjectSystem.Object
EntityQueryModelVisitorEntityQueryModelVisitor

Constructors

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

Initializes a new instance of the EntityQueryModelVisitor class.

protected EntityQueryModelVisitor(IQueryOptimizer queryOptimizer, INavigationRewritingExpressionVisitorFactory navigationRewritingExpressionVisitorFactory, ISubQueryMemberPushDownExpressionVisitor subQueryMemberPushDownExpressionVisitor, IQuerySourceTracingExpressionVisitorFactory querySourceTracingExpressionVisitorFactory, IEntityResultFindingExpressionVisitorFactory entityResultFindingExpressionVisitorFactory, ITaskBlockingExpressionVisitor taskBlockingExpressionVisitor, IMemberAccessBindingExpressionVisitorFactory memberAccessBindingExpressionVisitorFactory, IOrderingExpressionVisitorFactory orderingExpressionVisitorFactory, IProjectionExpressionVisitorFactory projectionExpressionVisitorFactory, IEntityQueryableExpressionVisitorFactory entityQueryableExpressionVisitorFactory, IQueryAnnotationExtractor queryAnnotationExtractor, IResultOperatorHandler resultOperatorHandler, IEntityMaterializerSource entityMaterializerSource, IExpressionPrinter expressionPrinter, QueryCompilationContext queryCompilationContext)
Protected Sub New(queryOptimizer As IQueryOptimizer, navigationRewritingExpressionVisitorFactory As INavigationRewritingExpressionVisitorFactory, subQueryMemberPushDownExpressionVisitor As ISubQueryMemberPushDownExpressionVisitor, querySourceTracingExpressionVisitorFactory As IQuerySourceTracingExpressionVisitorFactory, entityResultFindingExpressionVisitorFactory As IEntityResultFindingExpressionVisitorFactory, taskBlockingExpressionVisitor As ITaskBlockingExpressionVisitor, memberAccessBindingExpressionVisitorFactory As IMemberAccessBindingExpressionVisitorFactory, orderingExpressionVisitorFactory As IOrderingExpressionVisitorFactory, projectionExpressionVisitorFactory As IProjectionExpressionVisitorFactory, entityQueryableExpressionVisitorFactory As IEntityQueryableExpressionVisitorFactory, queryAnnotationExtractor As IQueryAnnotationExtractor, resultOperatorHandler As IResultOperatorHandler, entityMaterializerSource As IEntityMaterializerSource, expressionPrinter As IExpressionPrinter, queryCompilationContext As QueryCompilationContext)
Parameters
queryOptimizer
IQueryOptimizer IQueryOptimizer

The IQueryOptimizer to be used when processing the query.

navigationRewritingExpressionVisitorFactory
INavigationRewritingExpressionVisitorFactory INavigationRewritingExpressionVisitorFactory

The INavigationRewritingExpressionVisitorFactory to be used when processing the query.

subQueryMemberPushDownExpressionVisitor
ISubQueryMemberPushDownExpressionVisitor ISubQueryMemberPushDownExpressionVisitor

The ISubQueryMemberPushDownExpressionVisitor to be used when processing the query.

querySourceTracingExpressionVisitorFactory
IQuerySourceTracingExpressionVisitorFactory IQuerySourceTracingExpressionVisitorFactory

The IQuerySourceTracingExpressionVisitorFactory to be used when processing the query.

entityResultFindingExpressionVisitorFactory
IEntityResultFindingExpressionVisitorFactory IEntityResultFindingExpressionVisitorFactory

The IEntityResultFindingExpressionVisitorFactory to be used when processing the query.

taskBlockingExpressionVisitor
ITaskBlockingExpressionVisitor ITaskBlockingExpressionVisitor

The ITaskBlockingExpressionVisitor to be used when processing the query.

memberAccessBindingExpressionVisitorFactory
IMemberAccessBindingExpressionVisitorFactory IMemberAccessBindingExpressionVisitorFactory

The IMemberAccessBindingExpressionVisitorFactory to be used when processing the query.

orderingExpressionVisitorFactory
IOrderingExpressionVisitorFactory IOrderingExpressionVisitorFactory

The IOrderingExpressionVisitorFactory to be used when processing the query.

projectionExpressionVisitorFactory
IProjectionExpressionVisitorFactory IProjectionExpressionVisitorFactory

The IProjectionExpressionVisitorFactory to be used when processing the query.

entityQueryableExpressionVisitorFactory
IEntityQueryableExpressionVisitorFactory IEntityQueryableExpressionVisitorFactory

The IEntityQueryableExpressionVisitorFactory to be used when processing the query.

queryAnnotationExtractor
IQueryAnnotationExtractor IQueryAnnotationExtractor

The IQueryAnnotationExtractor to be used when processing the query.

resultOperatorHandler
IResultOperatorHandler IResultOperatorHandler

The IResultOperatorHandler to be used when processing the query.

entityMaterializerSource
IEntityMaterializerSource IEntityMaterializerSource

The IEntityMaterializerSource to be used when processing the query.

expressionPrinter
IExpressionPrinter IExpressionPrinter

The IExpressionPrinter to be used when processing the query.

queryCompilationContext
QueryCompilationContext QueryCompilationContext

The QueryCompilationContext to be used when processing the query.

Fields

QueryContextParameter QueryContextParameter

Expression to reference the QueryContext parameter for a query.

public static readonly ParameterExpression QueryContextParameter
Public Shared ReadOnly QueryContextParameter As ParameterExpression

Properties

CurrentParameter CurrentParameter

Gets the expression for the current parameter.

public virtual ParameterExpression CurrentParameter { get; set; }
Public Overridable Property CurrentParameter As ParameterExpression
Value
System.Linq.Expressions.ParameterExpression System.Linq.Expressions.ParameterExpression

Expression Expression

Gets the expression that represents this query.

public virtual Expression Expression { get; set; }
Public Overridable Property Expression As Expression
Value
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

LinqOperatorProvider LinqOperatorProvider

Gets the ILinqOperatorProvider being used for this query.

public virtual ILinqOperatorProvider LinqOperatorProvider { get; }
Public Overridable ReadOnly Property LinqOperatorProvider As ILinqOperatorProvider

QueryCompilationContext QueryCompilationContext

Gets the QueryCompilationContext being used for this query.

public virtual QueryCompilationContext QueryCompilationContext { get; }
Public Overridable ReadOnly Property QueryCompilationContext As QueryCompilationContext

Methods

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

Adds or updates the expression mapped to a query source.

public virtual void AddOrUpdateMapping(IQuerySource querySource, Expression expression)
Public Overridable Sub AddOrUpdateMapping(querySource As IQuerySource, expression As Expression)
Parameters
querySource
IQuerySource IQuerySource

The query source.

expression
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The expression mapped to the query source.

BindMemberExpression(MemberExpression, Action) BindMemberExpression(MemberExpression, Action(Of IProperty, IQuerySource))

Binds a member expression.

public virtual void BindMemberExpression(MemberExpression memberExpression, Action<IProperty, IQuerySource> memberBinder)
Public Overridable Sub BindMemberExpression(memberExpression As MemberExpression, memberBinder As Action(Of IProperty, IQuerySource))
Parameters
memberExpression
System.Linq.Expressions.MemberExpression System.Linq.Expressions.MemberExpression

The member access expression.

memberBinder
System.Action<IProperty, IQuerySource> System.Action(Of IProperty, IQuerySource)

The member binder.

BindMemberExpression(MemberExpression, IQuerySource, Func) BindMemberExpression(Of TResult)(MemberExpression, IQuerySource, Func(Of IProperty, IQuerySource, TResult))

Binds a member expression.

public virtual TResult BindMemberExpression<TResult>(MemberExpression memberExpression, IQuerySource querySource, Func<IProperty, IQuerySource, TResult> memberBinder)
Public Overridable Function BindMemberExpression(Of TResult)(memberExpression As MemberExpression, querySource As IQuerySource, memberBinder As Func(Of IProperty, IQuerySource, TResult)) As TResult
Type Parameters
TResult

Type of the result.

Parameters
memberExpression
System.Linq.Expressions.MemberExpression System.Linq.Expressions.MemberExpression

The member access expression.

querySource
IQuerySource IQuerySource

The query source.

memberBinder
System.Func<IProperty, IQuerySource, TResult> System.Func(Of IProperty, IQuerySource, TResult)

The member binder.

Returns
TResult TResult

A TResult.

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

Binds a member access to a value buffer access.

public virtual Expression BindMemberToValueBuffer(MemberExpression memberExpression, Expression expression)
Public Overridable Function BindMemberToValueBuffer(memberExpression As MemberExpression, expression As Expression) As Expression
Parameters
memberExpression
System.Linq.Expressions.MemberExpression System.Linq.Expressions.MemberExpression

The member access expression.

expression
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The target expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

A value buffer access expression.

BindMethodCallExpression(MethodCallExpression, Action) BindMethodCallExpression(MethodCallExpression, Action(Of IProperty, IQuerySource))

Binds a method call expression.

public virtual void BindMethodCallExpression(MethodCallExpression methodCallExpression, Action<IProperty, IQuerySource> methodCallBinder)
Public Overridable Sub BindMethodCallExpression(methodCallExpression As MethodCallExpression, methodCallBinder As Action(Of IProperty, IQuerySource))
Parameters
methodCallExpression
System.Linq.Expressions.MethodCallExpression System.Linq.Expressions.MethodCallExpression

The method call expression.

methodCallBinder
System.Action<IProperty, IQuerySource> System.Action(Of IProperty, IQuerySource)

The method call binder.

BindMethodCallExpression(MethodCallExpression, IQuerySource, Func) BindMethodCallExpression(Of TResult)(MethodCallExpression, IQuerySource, Func(Of IProperty, IQuerySource, TResult))

Binds a method call expression.

public virtual TResult BindMethodCallExpression<TResult>(MethodCallExpression methodCallExpression, IQuerySource querySource, Func<IProperty, IQuerySource, TResult> methodCallBinder)
Public Overridable Function BindMethodCallExpression(Of TResult)(methodCallExpression As MethodCallExpression, querySource As IQuerySource, methodCallBinder As Func(Of IProperty, IQuerySource, TResult)) As TResult
Type Parameters
TResult

Type of the result.

Parameters
methodCallExpression
System.Linq.Expressions.MethodCallExpression System.Linq.Expressions.MethodCallExpression

The method call expression.

querySource
IQuerySource IQuerySource

The query source.

methodCallBinder
System.Func<IProperty, IQuerySource, TResult> System.Func(Of IProperty, IQuerySource, TResult)

The method call binder.

Returns
TResult TResult

A TResult.

BindMethodCallExpression(MethodCallExpression, Func) BindMethodCallExpression(Of TResult)(MethodCallExpression, Func(Of IProperty, IQuerySource, TResult))

Binds a method call expression.

public virtual TResult BindMethodCallExpression<TResult>(MethodCallExpression methodCallExpression, Func<IProperty, IQuerySource, TResult> methodCallBinder)
Public Overridable Function BindMethodCallExpression(Of TResult)(methodCallExpression As MethodCallExpression, methodCallBinder As Func(Of IProperty, IQuerySource, TResult)) As TResult
Type Parameters
TResult

Type of the result.

Parameters
methodCallExpression
System.Linq.Expressions.MethodCallExpression System.Linq.Expressions.MethodCallExpression

The method call expression.

methodCallBinder
System.Func<IProperty, IQuerySource, TResult> System.Func(Of IProperty, IQuerySource, TResult)

The method call binder.

Returns
TResult TResult

A TResult.

BindMethodCallToValueBuffer(MethodCallExpression, Expression) BindMethodCallToValueBuffer(MethodCallExpression, Expression)

Binds a method call to a value buffer access.

public virtual Expression BindMethodCallToValueBuffer(MethodCallExpression methodCallExpression, Expression expression)
Public Overridable Function BindMethodCallToValueBuffer(methodCallExpression As MethodCallExpression, expression As Expression) As Expression
Parameters
methodCallExpression
System.Linq.Expressions.MethodCallExpression System.Linq.Expressions.MethodCallExpression

The method call expression.

expression
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The target expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

A value buffer access expression.

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

Binds a navigation path property expression.

public virtual TResult BindNavigationPathPropertyExpression<TResult>(Expression propertyExpression, Func<IEnumerable<IPropertyBase>, IQuerySource, TResult> propertyBinder)
Public Overridable Function BindNavigationPathPropertyExpression(Of TResult)(propertyExpression As Expression, propertyBinder As Func(Of IEnumerable(Of IPropertyBase), IQuerySource, TResult)) As TResult
Type Parameters
TResult

Type of the result.

Parameters
propertyExpression
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The property expression.

propertyBinder
System.Func<System.Collections.Generic.IEnumerable<IPropertyBase>, IQuerySource, TResult> System.Func(Of System.Collections.Generic.IEnumerable(Of IPropertyBase), IQuerySource, TResult)

The property binder.

Returns
TResult TResult

A TResult.

BindReadValueMethod(Type, Expression, Int32) BindReadValueMethod(Type, Expression, Int32)

Binds a value buffer read.

public virtual Expression BindReadValueMethod(Type memberType, Expression expression, int index)
Public Overridable Function BindReadValueMethod(memberType As Type, expression As Expression, index As Integer) As Expression
Parameters
memberType
System.Type System.Type

Type of the member.

expression
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The target expression.

index
System.Int32 System.Int32

A value buffer index.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

A value buffer read expression.

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

Compiles nodes.

protected virtual Expression CompileAdditionalFromClauseExpression(AdditionalFromClause additionalFromClause, QueryModel queryModel)
Protected Overridable Function CompileAdditionalFromClauseExpression(additionalFromClause As AdditionalFromClause, queryModel As QueryModel) As Expression
Parameters
additionalFromClause
AdditionalFromClause AdditionalFromClause

The node being compiled.

queryModel
QueryModel QueryModel

The query.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The compiled result.

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

Compiles nodes.

protected virtual Expression CompileGroupJoinInnerSequenceExpression(GroupJoinClause groupJoinClause, QueryModel queryModel)
Protected Overridable Function CompileGroupJoinInnerSequenceExpression(groupJoinClause As GroupJoinClause, queryModel As QueryModel) As Expression
Parameters
groupJoinClause
GroupJoinClause GroupJoinClause

The node being compiled.

queryModel
QueryModel QueryModel

The query.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The compiled result.

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

Compiles nodes.

protected virtual Expression CompileJoinClauseInnerSequenceExpression(JoinClause joinClause, QueryModel queryModel)
Protected Overridable Function CompileJoinClauseInnerSequenceExpression(joinClause As JoinClause, queryModel As QueryModel) As Expression
Parameters
joinClause
JoinClause JoinClause

The node being compiled.

queryModel
QueryModel QueryModel

The query.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The compiled result.

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

Compiles the node.

protected virtual Expression CompileMainFromClauseExpression(MainFromClause mainFromClause, QueryModel queryModel)
Protected Overridable Function CompileMainFromClauseExpression(mainFromClause As MainFromClause, queryModel As QueryModel) As Expression
Parameters
mainFromClause
MainFromClause MainFromClause

The node being compiled.

queryModel
QueryModel QueryModel

The query.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The compiled result.

CreateAsyncQueryExecutor(QueryModel) CreateAsyncQueryExecutor(Of TResult)(QueryModel)

Creates an action to asynchronously execute this query.

public virtual Func<QueryContext, IAsyncEnumerable<TResult>> CreateAsyncQueryExecutor<TResult>(QueryModel queryModel)
Public Overridable Function CreateAsyncQueryExecutor(Of TResult)(queryModel As QueryModel) As Func(Of QueryContext, IAsyncEnumerable(Of TResult))
Type Parameters
TResult

The type of results that the query returns.

Parameters
queryModel
QueryModel QueryModel

The query.

Returns
System.Func<QueryContext, IAsyncEnumerable<TResult>> System.Func(Of QueryContext, IAsyncEnumerable(Of TResult))

An action that asynchronously returns the results of the query.

CreateExecutorLambda() CreateExecutorLambda(Of TResults)()

Creates an action to execute this query.

protected virtual Func<QueryContext, TResults> CreateExecutorLambda<TResults>()
Protected Overridable Function CreateExecutorLambda(Of TResults) As Func(Of QueryContext, TResults)
Type Parameters
TResults

The type of results that the query returns.

Returns
System.Func<QueryContext, TResults> System.Func(Of QueryContext, TResults)

An action that returns the results of the query.

CreatePropertyExpression(Expression, IProperty) CreatePropertyExpression(Expression, IProperty)

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

public static Expression CreatePropertyExpression(Expression target, IProperty property)
Public Shared Function CreatePropertyExpression(target As Expression, property As IProperty) As Expression
Parameters
target
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The entity.

property
IProperty IProperty

The property to be accessed.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The newly created expression.

CreateQueryExecutor(QueryModel) CreateQueryExecutor(Of TResult)(QueryModel)

Creates an action to execute this query.

public virtual Func<QueryContext, IEnumerable<TResult>> CreateQueryExecutor<TResult>(QueryModel queryModel)
Public Overridable Function CreateQueryExecutor(Of TResult)(queryModel As QueryModel) As Func(Of QueryContext, IEnumerable(Of TResult))
Type Parameters
TResult

The type of results that the query returns.

Parameters
queryModel
QueryModel QueryModel

The query.

Returns
System.Func<QueryContext, System.Collections.Generic.IEnumerable<TResult>> System.Func(Of QueryContext, System.Collections.Generic.IEnumerable(Of TResult))

An action that returns the results of the query.

ExtractQueryAnnotations(QueryModel) ExtractQueryAnnotations(QueryModel)

Populates QueryAnnotations based on annotations found in the query.

protected virtual void ExtractQueryAnnotations(QueryModel queryModel)
Protected Overridable Sub ExtractQueryAnnotations(queryModel As QueryModel)
Parameters
queryModel
QueryModel QueryModel

The query.

IncludeNavigations(IncludeSpecification, Type, Expression, Boolean) IncludeNavigations(IncludeSpecification, Type, Expression, Boolean)

Includes a specific navigation property requested in the LINQ query.

protected virtual void IncludeNavigations(IncludeSpecification includeSpecification, Type resultType, Expression accessorExpression, bool querySourceRequiresTracking)
Protected Overridable Sub IncludeNavigations(includeSpecification As IncludeSpecification, resultType As Type, accessorExpression As Expression, querySourceRequiresTracking As Boolean)
Parameters
includeSpecification
IncludeSpecification IncludeSpecification

The navigation property to be included.

resultType
System.Type System.Type

The type of results returned by the query.

accessorExpression
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

Expression for the navigation property to be included.

querySourceRequiresTracking
System.Boolean System.Boolean

A value indicating whether results of this query are to be tracked.

IncludeNavigations(QueryModel) IncludeNavigations(QueryModel)

Includes related data requested in the LINQ query.

protected virtual void IncludeNavigations(QueryModel queryModel)
Protected Overridable Sub IncludeNavigations(queryModel As QueryModel)
Parameters
queryModel
QueryModel QueryModel

The query.

IncludeNavigations(QueryModel, IReadOnlyCollection) IncludeNavigations(QueryModel, IReadOnlyCollection(Of IncludeSpecification))

Includes related data requested in the LINQ query.

protected virtual void IncludeNavigations(QueryModel queryModel, IReadOnlyCollection<IncludeSpecification> includeSpecifications)
Protected Overridable Sub IncludeNavigations(queryModel As QueryModel, includeSpecifications As IReadOnlyCollection(Of IncludeSpecification))
Parameters
queryModel
QueryModel QueryModel

The query.

includeSpecifications
System.Collections.Generic.IReadOnlyCollection<IncludeSpecification> System.Collections.Generic.IReadOnlyCollection(Of IncludeSpecification)

Related data to be included.

InterceptExceptions() InterceptExceptions()

Executes the query and logs any exceptions that occur.

protected virtual void InterceptExceptions()
Protected Overridable Sub InterceptExceptions

IsPropertyMethod(MethodInfo) IsPropertyMethod(MethodInfo)

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

public static bool IsPropertyMethod(MethodInfo methodInfo)
Public Shared Function IsPropertyMethod(methodInfo As MethodInfo) As Boolean
Parameters
methodInfo
System.Reflection.MethodInfo System.Reflection.MethodInfo

The method info to check.

Returns
System.Boolean System.Boolean

True if methodInfo is referencing Property<TProperty>(Object, String); otherwise fale;

OptimizeQueryModel(QueryModel) OptimizeQueryModel(QueryModel)

Applies optimizations to the query.

protected virtual void OptimizeQueryModel(QueryModel queryModel)
Protected Overridable Sub OptimizeQueryModel(queryModel As QueryModel)
Parameters
queryModel
QueryModel QueryModel

The query.

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

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

public virtual Expression ReplaceClauseReferences(Expression expression, IQuerySource querySource = null, bool inProjection = false)
Public Overridable Function ReplaceClauseReferences(expression As Expression, querySource As IQuerySource = Nothing, inProjection As Boolean = False) As Expression
Parameters
expression
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The re-linq query model expression.

querySource
IQuerySource IQuerySource

The query source.

inProjection
System.Boolean System.Boolean

True when the expression is a projector.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

A compiled query expression fragment.

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

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

protected virtual void SingleResultToSequence(QueryModel queryModel, Type type = null)
Protected Overridable Sub SingleResultToSequence(queryModel As QueryModel, type As Type = Nothing)
Parameters
queryModel
QueryModel QueryModel

The query.

type
System.Type System.Type

The type of results returned by the query.

TrackEntitiesInResults(QueryModel) TrackEntitiesInResults(Of TResult)(QueryModel)

Applies tracking behavior to the query.

protected virtual void TrackEntitiesInResults<TResult>(QueryModel queryModel)
Protected Overridable Sub TrackEntitiesInResults(Of TResult)(queryModel As QueryModel)
Type Parameters
TResult

The type of results returned by the query.

Parameters
queryModel
QueryModel QueryModel

The query.

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

Visits nodes.

public override void VisitAdditionalFromClause(AdditionalFromClause fromClause, QueryModel queryModel, int index)
Public Overrides Sub VisitAdditionalFromClause(fromClause As AdditionalFromClause, queryModel As QueryModel, index As Integer)
Parameters
fromClause
AdditionalFromClause AdditionalFromClause

The node being visited.

queryModel
QueryModel QueryModel

The query.

index
System.Int32 System.Int32

Index of the node being visited.

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

Visits nodes

public override void VisitGroupJoinClause(GroupJoinClause groupJoinClause, QueryModel queryModel, int index)
Public Overrides Sub VisitGroupJoinClause(groupJoinClause As GroupJoinClause, queryModel As QueryModel, index As Integer)
Parameters
groupJoinClause
GroupJoinClause GroupJoinClause

The node being visited.

queryModel
QueryModel QueryModel

The query.

index
System.Int32 System.Int32

Index of the node being visited.

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

Visits nodes.

public override void VisitJoinClause(JoinClause joinClause, QueryModel queryModel, int index)
Public Overrides Sub VisitJoinClause(joinClause As JoinClause, queryModel As QueryModel, index As Integer)
Parameters
joinClause
JoinClause JoinClause

The node being visited.

queryModel
QueryModel QueryModel

The query.

index
System.Int32 System.Int32

Index of the node being visited.

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

Visits the node.

public override void VisitMainFromClause(MainFromClause fromClause, QueryModel queryModel)
Public Overrides Sub VisitMainFromClause(fromClause As MainFromClause, queryModel As QueryModel)
Parameters
fromClause
MainFromClause MainFromClause

The node being visited.

queryModel
QueryModel QueryModel

The query.

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

Visits nodes.

public override void VisitOrdering(Ordering ordering, QueryModel queryModel, OrderByClause orderByClause, int index)
Public Overrides Sub VisitOrdering(ordering As Ordering, queryModel As QueryModel, orderByClause As OrderByClause, index As Integer)
Parameters
ordering
Ordering Ordering

The node being visited.

queryModel
QueryModel QueryModel

The query.

orderByClause
OrderByClause OrderByClause

The for the ordering.

index
System.Int32 System.Int32

Index of the node being visited.

VisitQueryModel(QueryModel) VisitQueryModel(QueryModel)

Visits the root node.

public override void VisitQueryModel(QueryModel queryModel)
Public Overrides Sub VisitQueryModel(queryModel As QueryModel)
Parameters
queryModel
QueryModel QueryModel

The query.

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

Visits nodes.

public override void VisitResultOperator(ResultOperatorBase resultOperator, QueryModel queryModel, int index)
Public Overrides Sub VisitResultOperator(resultOperator As ResultOperatorBase, queryModel As QueryModel, index As Integer)
Parameters
resultOperator
ResultOperatorBase ResultOperatorBase

The node being visited.

queryModel
QueryModel QueryModel

The query.

index
System.Int32 System.Int32

Index of the node being visited.

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

Visits nodes.

public override void VisitSelectClause(SelectClause selectClause, QueryModel queryModel)
Public Overrides Sub VisitSelectClause(selectClause As SelectClause, queryModel As QueryModel)
Parameters
selectClause
SelectClause SelectClause

The node being visited.

queryModel
QueryModel QueryModel

The query.

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

Visits nodes.

public override void VisitWhereClause(WhereClause whereClause, QueryModel queryModel, int index)
Public Overrides Sub VisitWhereClause(whereClause As WhereClause, queryModel As QueryModel, index As Integer)
Parameters
whereClause
WhereClause WhereClause

The node being visited.

queryModel
QueryModel QueryModel

The query.

index
System.Int32 System.Int32

Index of the node being visited.