Table of Contents

Class RelationalParameterBasedSqlProcessor

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

A class that processes the SelectExpression after parementer values are known.

This type is typically used by database providers (and other extensions). It is generally not used in application code.

public class RelationalParameterBasedSqlProcessor
Inheritance
RelationalParameterBasedSqlProcessor
Inherited Members

Constructors

RelationalParameterBasedSqlProcessor(RelationalParameterBasedSqlProcessorDependencies, bool)

Creates a new instance of the Microsoft.EntityFrameworkCore.Query.QueryTranslationPostprocessor class.

public RelationalParameterBasedSqlProcessor(RelationalParameterBasedSqlProcessorDependencies dependencies, bool useRelationalNulls)

Parameters

dependencies RelationalParameterBasedSqlProcessorDependencies

Parameter object containing dependencies for this class.

useRelationalNulls bool

A bool value indicating if relational nulls should be used.

Properties

Dependencies

Parameter object containing service dependencies.

protected virtual RelationalParameterBasedSqlProcessorDependencies Dependencies { get; }

Property Value

RelationalParameterBasedSqlProcessorDependencies

UseRelationalNulls

A bool value indicating if relational nulls should be used.

protected virtual bool UseRelationalNulls { get; }

Property Value

bool

Methods

ExpandFromSqlParameter(SelectExpression, IReadOnlyDictionary<string, object>, out bool)

Expands the parameters to FromSqlExpression inside the SelectExpression for given parameter values.

protected virtual SelectExpression ExpandFromSqlParameter(SelectExpression selectExpression, IReadOnlyDictionary<string, object> parametersValues, out bool canCache)

Parameters

selectExpression SelectExpression

A select expression to optimize.

parametersValues IReadOnlyDictionary<string, object>

A dictionary of parameter values to use.

canCache bool

A bool value indicating if the select expression can be cached.

Returns

SelectExpression

A processed select expression.

Optimize(SelectExpression, IReadOnlyDictionary<string, object>, out bool)

Optimizes the SelectExpression for given parameter values.

public virtual SelectExpression Optimize(SelectExpression selectExpression, IReadOnlyDictionary<string, object> parametersValues, out bool canCache)

Parameters

selectExpression SelectExpression

A select expression to optimize.

parametersValues IReadOnlyDictionary<string, object>

A dictionary of parameter values to use.

canCache bool

A bool value indicating if the select expression can be cached.

Returns

SelectExpression

An optimized select expression.

ProcessSqlNullability(SelectExpression, IReadOnlyDictionary<string, object>, out bool)

Processes the SelectExpression based on nullability of nodes to apply null semantics in use and optimize it for given parameter values.

protected virtual SelectExpression ProcessSqlNullability(SelectExpression selectExpression, IReadOnlyDictionary<string, object> parametersValues, out bool canCache)

Parameters

selectExpression SelectExpression

A select expression to optimize.

parametersValues IReadOnlyDictionary<string, object>

A dictionary of parameter values to use.

canCache bool

A bool value indicating if the select expression can be cached.

Returns

SelectExpression

A processed select expression.