SqlNullabilityProcessor Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
A class that processes a SQL tree based on nullability of nodes to apply null semantics in use and optimize it based on parameter values.
This type is typically used by database providers (and other extensions). It is generally not used in application code.
public class SqlNullabilityProcessor
type SqlNullabilityProcessor = class
Public Class SqlNullabilityProcessor
- Inheritance
-
SqlNullabilityProcessor
Constructors
SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, Boolean) |
Creates a new instance of the SqlNullabilityProcessor class. |
SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, RelationalParameterBasedSqlProcessorParameters) |
Creates a new instance of the SqlNullabilityProcessor class. |
Properties
Dependencies |
Relational provider-specific dependencies for this service. |
ParametersToConstantize |
A collection of parameter names to constantize. |
ParameterValues |
Dictionary of current parameter values in use. |
PreferExistsToInWithCoalesce |
Determines whether an InExpression will be transformed to an ExistsExpression when it would otherwise require complex compensation for null semantics. |
UseRelationalNulls |
A bool value indicating whether relational null semantics are in use. |
Methods
AddNonNullableColumn(ColumnExpression) |
Adds a column to non nullable columns list to further optimizations can take the column as non-nullable. |
DoNotCache() |
Marks the select expression being processed as cannot be cached. |
IsCollectionTable(TableExpressionBase, Expression) |
A provider hook for identifying a TableExpressionBase which represents a collection, e.g. OPENJSON on SQL Server. |
OptimizeNonNullableNotExpression(SqlUnaryExpression) |
Attempts to simplify a unary not operation on a non-nullable operand. |
OptimizeNotExpression(SqlExpression) |
Attempts to simplify a unary not operation. |
Process(Expression, IReadOnlyDictionary<String,Object>, Boolean) |
Processes a query expression to apply null semantics and optimize it. |
Process(SelectExpression, IReadOnlyDictionary<String,Object>, Boolean) |
Processes a SelectExpression to apply null semantics and optimize it. |
TryMakeNonNullable(SelectExpression, SelectExpression, Nullable<Boolean>) |
Attempts to convert the given |
UpdateParameterCollection(TableExpressionBase, SqlParameterExpression) |
Given a TableExpressionBase which was previously identified to be a parameterized collection table (e.g. OPENJSON on SQL Server, see IsCollectionTable(TableExpressionBase, Expression)), replaces the parameter for that table. |
Visit(SelectExpression, Boolean) |
Visits a SelectExpression. |
Visit(SelectExpression) |
Visits a SelectExpression. |
Visit(SqlExpression, Boolean, Boolean) |
Visits a SqlExpression and computes its nullability. |
Visit(SqlExpression, Boolean) |
Visits a SqlExpression and computes its nullability. |
Visit(TableExpressionBase) |
Visits a TableExpressionBase. |
VisitAtTimeZone(AtTimeZoneExpression, Boolean, Boolean) |
This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release. |
VisitCase(CaseExpression, Boolean, Boolean) |
Visits a CaseExpression and computes its nullability. |
VisitCollate(CollateExpression, Boolean, Boolean) |
Visits a CollateExpression and computes its nullability. |
VisitColumn(ColumnExpression, Boolean, Boolean) |
Visits a ColumnExpression and computes its nullability. |
VisitCustomSqlExpression(SqlExpression, Boolean, Boolean) |
Visits a custom SqlExpression added by providers and computes its nullability. |
VisitDistinct(DistinctExpression, Boolean, Boolean) |
Visits a DistinctExpression and computes its nullability. |
VisitExists(ExistsExpression, Boolean, Boolean) |
Visits an ExistsExpression and computes its nullability. |
VisitIn(InExpression, Boolean, Boolean) |
Visits an InExpression and computes its nullability. |
VisitJsonScalar(JsonScalarExpression, Boolean, Boolean) |
Visits a JsonScalarExpression and computes its nullability. |
VisitLike(LikeExpression, Boolean, Boolean) |
Visits a LikeExpression and computes its nullability. |
VisitRowNumber(RowNumberExpression, Boolean, Boolean) |
Visits a RowNumberExpression and computes its nullability. |
VisitRowValue(RowValueExpression, Boolean, Boolean) |
Visits a RowValueExpression and computes its nullability. |
VisitScalarSubquery(ScalarSubqueryExpression, Boolean, Boolean) |
Visits a ScalarSubqueryExpression and computes its nullability. |
VisitSqlBinary(SqlBinaryExpression, Boolean, Boolean) |
Visits a SqlBinaryExpression and computes its nullability. |
VisitSqlConstant(SqlConstantExpression, Boolean, Boolean) |
Visits a SqlConstantExpression and computes its nullability. |
VisitSqlFragment(SqlFragmentExpression, Boolean, Boolean) |
Visits a SqlFragmentExpression and computes its nullability. |
VisitSqlFunction(SqlFunctionExpression, Boolean, Boolean) |
Visits a SqlFunctionExpression and computes its nullability. |
VisitSqlParameter(SqlParameterExpression, Boolean, Boolean) |
Visits a SqlParameterExpression and computes its nullability. |
VisitSqlUnary(SqlUnaryExpression, Boolean, Boolean) |
Visits a SqlUnaryExpression and computes its nullability. |