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
QueryTranslationPreprocessorDependenciesParameter object containing dependencies for this class.
queryCompilationContext
QueryCompilationContextThe 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
NewArrayExpressionThe new array expression that's a candidate for conversion to a query root.
Returns
ShouldConvertToParameterQueryRoot(ParameterExpression)
Determines whether a ParameterExpression should be converted to a ParameterQueryRootExpression.
protected virtual bool ShouldConvertToParameterQueryRoot(ParameterExpression parameterExpression)
Parameters
parameterExpression
ParameterExpressionThe parameter expression that's a candidate for conversion to a query root.
Returns
VisitMethodCall(MethodCallExpression)
protected override Expression VisitMethodCall(MethodCallExpression methodCallExpression)
Parameters
methodCallExpression
MethodCallExpression