Class QueryTranslationPreprocessor
- Namespace
- Microsoft.EntityFrameworkCore.Query
- Assembly
- Microsoft.EntityFrameworkCore.dll
A class that preprocesses the query before translation.
This type is typically used by database providers (and other extensions). It is generally not used in application code.
public class QueryTranslationPreprocessor
- Inheritance
-
QueryTranslationPreprocessor
- Inherited Members
Remarks
See Implementation of database providers and extensions and How EF Core queries work for more information and examples.
Constructors
QueryTranslationPreprocessor(QueryTranslationPreprocessorDependencies, QueryCompilationContext)
Creates a new instance of the QueryTranslationPreprocessor class.
public QueryTranslationPreprocessor(QueryTranslationPreprocessorDependencies dependencies, QueryCompilationContext queryCompilationContext)
Parameters
dependencies
QueryTranslationPreprocessorDependenciesParameter object containing dependencies for this class.
queryCompilationContext
QueryCompilationContextThe query compilation context object to use.
Properties
Dependencies
Dependencies for this service.
protected virtual QueryTranslationPreprocessorDependencies Dependencies { get; }
Property Value
QueryCompilationContext
The query compilation context object for current compilation.
protected virtual QueryCompilationContext QueryCompilationContext { get; }
Property Value
Methods
NormalizeQueryableMethod(Expression)
Normalizes queryable methods in the query.
public virtual Expression NormalizeQueryableMethod(Expression expression)
Parameters
expression
ExpressionThe query expression to normalize.
Returns
- Expression
A query expression after normalization has been done.
Remarks
This method extracts query metadata information like tracking, ignore query filters. It also converts potential enumerable methods on navigation to queryable methods. It flattens patterns of GroupJoin-SelectMany patterns to appropriate Join/LeftJoin.
Process(Expression)
Applies preprocessing transformations to the query.
public virtual Expression Process(Expression query)
Parameters
query
ExpressionThe query to process.
Returns
- Expression
A query expression after transformations.
ProcessQueryRoots(Expression)
Adds additional query root nodes to the query.
protected virtual Expression ProcessQueryRoots(Expression expression)
Parameters
expression
ExpressionThe query expression to process.
Returns
- Expression
A query expression after query roots have been added.