SqlNullabilityProcessor 类

定义

一个类,它基于节点的可为空性处理 SQL 树,以应用正在使用的 null 语义,并根据参数值对其进行优化。

此类型通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。

public class SqlNullabilityProcessor
type SqlNullabilityProcessor = class
Public Class SqlNullabilityProcessor
继承
SqlNullabilityProcessor

构造函数

SqlNullabilityProcessor(RelationalParameterBasedSqlProcessorDependencies, Boolean)

创建 SqlNullabilityProcessor 类的新实例。

属性

Dependencies

此服务的关系提供程序特定的依赖项。

ParameterValues

正在使用的当前参数值的字典。

PreferExistsToInWithCoalesce

确定 在否则需要对 null 语义进行复杂补偿时,是否 InExpression 将 转换为 ExistsExpression

UseRelationalNulls

一个布尔值,指示关系 null 语义是否正在使用中。

方法

AddNonNullableColumn(ColumnExpression)

将列添加到不可为空的列列表,以进一步优化可将该列设置为不可为空。

DoNotCache()

将正在处理的 select 表达式标记为“无法缓存”。

OptimizeNonNullableNotExpression(SqlUnaryExpression)

尝试在不可为 null 的操作数上简化一元非运算。

Process(Expression, IReadOnlyDictionary<String,Object>, Boolean)

处理查询表达式以应用 null 语义并对其进行优化。

Process(SelectExpression, IReadOnlyDictionary<String,Object>, Boolean)

处理 以 SelectExpression 应用 null 语义并对其进行优化。

Visit(SelectExpression)

SelectExpression访问 。

Visit(SqlExpression, Boolean, Boolean)

访问 并 SqlExpression 计算其可为空性。

Visit(SqlExpression, Boolean)

访问 并 SqlExpression 计算其可为空性。

Visit(TableExpressionBase)

TableExpressionBase访问 。

VisitAtTimeZone(AtTimeZoneExpression, Boolean, Boolean)

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

VisitCase(CaseExpression, Boolean, Boolean)

访问 并 CaseExpression 计算其可为空性。

VisitCollate(CollateExpression, Boolean, Boolean)

访问 并 CollateExpression 计算其可为空性。

VisitColumn(ColumnExpression, Boolean, Boolean)

访问 并 ColumnExpression 计算其可为空性。

VisitCustomSqlExpression(SqlExpression, Boolean, Boolean)

访问提供程序添加的自定义 SqlExpression ,并计算其为空性。

VisitDistinct(DistinctExpression, Boolean, Boolean)

访问 并 DistinctExpression 计算其可为空性。

VisitExists(ExistsExpression, Boolean, Boolean)

访问 并 ExistsExpression 计算其可为空性。

VisitIn(InExpression, Boolean, Boolean)

访问 并 InExpression 计算其可为空性。

VisitJsonScalar(JsonScalarExpression, Boolean, Boolean)

访问 并 JsonScalarExpression 计算其可为空性。

VisitLike(LikeExpression, Boolean, Boolean)

访问 并 LikeExpression 计算其可为空性。

VisitRowNumber(RowNumberExpression, Boolean, Boolean)

访问 并 RowNumberExpression 计算其可为空性。

VisitRowValue(RowValueExpression, Boolean, Boolean)

访问 并 RowValueExpression 计算其可为空性。

VisitScalarSubquery(ScalarSubqueryExpression, Boolean, Boolean)

访问 并 ScalarSubqueryExpression 计算其可为空性。

VisitSqlBinary(SqlBinaryExpression, Boolean, Boolean)

访问 并 SqlBinaryExpression 计算其可为空性。

VisitSqlConstant(SqlConstantExpression, Boolean, Boolean)

访问 并 SqlConstantExpression 计算其可为空性。

VisitSqlFragment(SqlFragmentExpression, Boolean, Boolean)

访问 并 SqlFragmentExpression 计算其可为空性。

VisitSqlFunction(SqlFunctionExpression, Boolean, Boolean)

访问 并 SqlFunctionExpression 计算其可为空性。

VisitSqlParameter(SqlParameterExpression, Boolean, Boolean)

访问 并 SqlParameterExpression 计算其可为空性。

VisitSqlUnary(SqlUnaryExpression, Boolean, Boolean)

访问 并 SqlUnaryExpression 计算其可为空性。

适用于