SqlParameter.SourceColumnNullMapping 屬性

定義

取得或設定值,這個值表示來源資料行是否可為 Null。 這可讓 SqlCommandBuilder 正確產生可為 Null 的資料行的 Update 陳述式。

public override bool SourceColumnNullMapping { get; set; }

屬性值

如果來源資料行可為 Null,則為 true;否則為 false

備註

SourceColumnNullMappingSqlCommandBuilder 使用 ,在處理可為 Null 的數據行時正確產生更新命令。 一般而言,使用 SourceColumnNullMapping 僅限於繼承自 的 SqlCommandBuilder開發人員。

DbCommandBuilder 會使用這個屬性來判斷源資料行是否可為 Null,如果此屬性 true 為可為 Null,則 false 設定為 ,如果不是,則設定為 。 當產生 Update 語句時 SqlCommandBuilder ,它會檢查 SourceColumnNullMapping 每個參數的 。 如果屬性為 trueSqlCommandBuilder 則在此查詢表達式中產生類似下列 (的 WHERE 子句,“FieldName” 代表功能變數名稱) :

((@IsNull_FieldName = 1 AND FieldName IS NULL) OR
  (FieldName = @Original_FieldName))

如果 SourceColumnNullMapping 欄位為 false, SqlCommandBuilder 則會產生下列 WHERE 子句:

FieldName = @OriginalFieldName

此外, @IsNull_FieldName 如果來源欄位包含 Null,則包含 1,如果不包含,則包含 0。 此機制允許 SQL Server 中的效能優化,並提供跨多個提供者運作的一般程序代碼。

適用於

產品 版本
.NET Core 1.0, Core 1.1, 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided)
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

另請參閱