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
RelationalParameterBasedSqlProcessorDependenciesParameter object containing dependencies for this class.
useRelationalNulls
boolA bool value indicating if relational nulls should be used.
Properties
Dependencies
Parameter object containing service dependencies.
protected virtual RelationalParameterBasedSqlProcessorDependencies Dependencies { get; }
Property Value
UseRelationalNulls
A bool value indicating if relational nulls should be used.
protected virtual bool UseRelationalNulls { get; }
Property Value
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
SelectExpressionA select expression to optimize.
parametersValues
IReadOnlyDictionary<string, object>A dictionary of parameter values to use.
canCache
boolA 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
SelectExpressionA select expression to optimize.
parametersValues
IReadOnlyDictionary<string, object>A dictionary of parameter values to use.
canCache
boolA 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
SelectExpressionA select expression to optimize.
parametersValues
IReadOnlyDictionary<string, object>A dictionary of parameter values to use.
canCache
boolA bool value indicating if the select expression can be cached.
Returns
- SelectExpression
A processed select expression.