SqlParameter.SourceColumnNullMapping 属性

定义

设置或获取一个值,该值指示源列是否可以为 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

注解

SourceColumnNullMappingSqlCommandBuilder 处理可为 null 的列时,使用 来正确生成更新命令。 通常, 的使用 SourceColumnNullMapping 仅限于从 继承的 SqlCommandBuilder开发人员。

DbCommandBuilder 使用此属性来确定源列是否可为 null,并将此属性设置为 true (如果可为 null)和 false (如果为 null)。 生成其 Update 语句时 SqlCommandBuilder ,它会检查 SourceColumnNullMapping 每个参数的 。 如果 属性为 trueSqlCommandBuilder 则在此查询表达式中生成类似于以下 (的 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的性能,并提供跨多个提供程序工作的通用代码。

适用于