Class RelationalParameterBasedSqlProcessor
- Namespace
- Microsoft.EntityFrameworkCore.Query
- Assembly
- Microsoft.EntityFrameworkCore.Relational.dll
A class that processes the query expression 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 RelationalParameterBasedSqlProcessor class.
public RelationalParameterBasedSqlProcessor(RelationalParameterBasedSqlProcessorDependencies dependencies, bool useRelationalNulls)
Parameters
dependenciesRelationalParameterBasedSqlProcessorDependenciesParameter object containing dependencies for this class.
useRelationalNullsboolA bool value indicating if relational nulls should be used.
Properties
Dependencies
Relational provider-specific dependencies for this service.
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(Expression, IReadOnlyDictionary<string, object?>, out bool)
Expands the parameters to FromSqlExpression inside the query expression for given parameter values.
protected virtual Expression ExpandFromSqlParameter(Expression queryExpression, IReadOnlyDictionary<string, object?> parametersValues, out bool canCache)
Parameters
queryExpressionExpressionA query expression to optimize.
parametersValuesIReadOnlyDictionary<string, object>A dictionary of parameter values to use.
canCacheboolA bool value indicating if the query expression can be cached.
Returns
- Expression
A processed query expression.
Optimize(Expression, IReadOnlyDictionary<string, object?>, out bool)
Optimizes the query expression for given parameter values.
public virtual Expression Optimize(Expression queryExpression, IReadOnlyDictionary<string, object?> parametersValues, out bool canCache)
Parameters
queryExpressionExpressionA query expression to optimize.
parametersValuesIReadOnlyDictionary<string, object>A dictionary of parameter values to use.
canCacheboolA bool value indicating if the query expression can be cached.
Returns
- Expression
An optimized query expression.
ProcessSqlNullability(Expression, IReadOnlyDictionary<string, object?>, out bool)
Processes the query expression based on nullability of nodes to apply null semantics in use and optimize it for given parameter values.
protected virtual Expression ProcessSqlNullability(Expression queryExpression, IReadOnlyDictionary<string, object?> parametersValues, out bool canCache)
Parameters
queryExpressionExpressionA query expression to optimize.
parametersValuesIReadOnlyDictionary<string, object>A dictionary of parameter values to use.
canCacheboolA bool value indicating if the query expression can be cached.
Returns
- Expression
A processed query expression.