Table of Contents

Class QueryRootProcessor

Namespace
Microsoft.EntityFrameworkCore.Query
Assembly
Microsoft.EntityFrameworkCore.dll

A visitor which adds additional query root nodes during preprocessing.

public class QueryRootProcessor : ExpressionVisitor
Inheritance
QueryRootProcessor
Inherited Members

Constructors

QueryRootProcessor(QueryTranslationPreprocessorDependencies, QueryCompilationContext)

Creates a new instance of the QueryRootProcessor class with associated query provider.

public QueryRootProcessor(QueryTranslationPreprocessorDependencies dependencies, QueryCompilationContext queryCompilationContext)

Parameters

dependencies QueryTranslationPreprocessorDependencies

Parameter object containing dependencies for this class.

queryCompilationContext QueryCompilationContext

The query compilation context object to use.

Methods

ShouldConvertToInlineQueryRoot(NewArrayExpression)

Determines whether a ConstantExpression should be converted to a InlineQueryRootExpression. This handles cases inline expressions whose elements are all constants.

protected virtual bool ShouldConvertToInlineQueryRoot(NewArrayExpression newArrayExpression)

Parameters

newArrayExpression NewArrayExpression

The new array expression that's a candidate for conversion to a query root.

Returns

bool

ShouldConvertToParameterQueryRoot(ParameterExpression)

Determines whether a ParameterExpression should be converted to a ParameterQueryRootExpression.

protected virtual bool ShouldConvertToParameterQueryRoot(ParameterExpression parameterExpression)

Parameters

parameterExpression ParameterExpression

The parameter expression that's a candidate for conversion to a query root.

Returns

bool

VisitMethodCall(MethodCallExpression)

protected override Expression VisitMethodCall(MethodCallExpression methodCallExpression)

Parameters

methodCallExpression MethodCallExpression

Returns

Expression