Table of Contents

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

Constructors

QueryTranslationPreprocessor(QueryTranslationPreprocessorDependencies, QueryCompilationContext)

Creates a new instance of the QueryTranslationPreprocessor class.

public QueryTranslationPreprocessor(QueryTranslationPreprocessorDependencies dependencies, QueryCompilationContext queryCompilationContext)

Parameters

dependencies QueryTranslationPreprocessorDependencies

Parameter object containing dependencies for this class.

queryCompilationContext QueryCompilationContext

The query compilation context object to use.

Properties

Dependencies

Dependencies for this service.

protected virtual QueryTranslationPreprocessorDependencies Dependencies { get; }

Property Value

QueryTranslationPreprocessorDependencies

QueryCompilationContext

The query compilation context object for current compilation.

protected virtual QueryCompilationContext QueryCompilationContext { get; }

Property Value

QueryCompilationContext

Methods

NormalizeQueryableMethod(Expression)

Normalizes queryable methods in the query.

public virtual Expression NormalizeQueryableMethod(Expression expression)

Parameters

expression Expression

The 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 Expression

The 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 Expression

The query expression to process.

Returns

Expression

A query expression after query roots have been added.