SqlParameter.SourceColumnNullMapping 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
设置或获取一个值,该值指示源列是否可以为 null。 通过此操作,SqlCommandBuilder 能够为可以为 null 的列正确地生成 Update 语句。
public:
virtual property bool SourceColumnNullMapping { bool get(); void set(bool value); };
public override bool SourceColumnNullMapping { get; set; }
member this.SourceColumnNullMapping : bool with get, set
Public Overrides Property SourceColumnNullMapping As Boolean
属性值
如果源列可以为 null,则为true
;否则为 false
。
注解
SourceColumnNullMapping 在 SqlCommandBuilder 处理可为 null 的列时,使用 来正确生成更新命令。 通常, 的使用 SourceColumnNullMapping 仅限于从 继承的 SqlCommandBuilder开发人员。
DbCommandBuilder 使用此属性来确定源列是否可为 null,并将此属性设置为 true
(如果可为 null)和 false
(如果为 null)。 生成其 Update 语句时 SqlCommandBuilder ,它会检查 SourceColumnNullMapping 每个参数的 。 如果 属性为 true
, SqlCommandBuilder 则在此查询表达式中生成类似于以下 (的 WHERE 子句,“FieldName”表示字段) 的名称:
((@IsNull_FieldName = 1 AND FieldName IS NULL) OR
(FieldName = @Original_FieldName))
如果 SourceColumnNullMapping 的 字段为 false, SqlCommandBuilder 则生成以下 WHERE 子句:
FieldName = @OriginalFieldName
此外, 如果源字段包含 null, @IsNull_FieldName 则包含 1,否则包含 0。 此机制允许优化SQL Server的性能,并提供跨多个提供程序工作的通用代码。