SqlParameter.SourceColumnNullMapping 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定一個值,指示來源欄位是否可為空。 這能正確 SqlCommandBuilder 地為可空欄位產生 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
屬性值
true 如果來源欄位是可空的; false 如果不是的話。
備註
SourceColumnNullMapping 在處理可空欄位時,會被用 SqlCommandBuilder 來正確產生更新指令。 一般而言,的 SourceColumnNullMapping 使用僅限於繼承自 SqlCommandBuilder的開發者。
DbCommandBuilder利用此特性判斷來源欄位是否可為空,若可為false,則為true 當 正在產生 Update 陳述式時SqlCommandBuilder,會檢查每個參數的 。SourceColumnNullMapping 若屬性為 true, SqlCommandBuilder 則產生如下 WHERE 子句(在此查詢表達式中,「FieldName」代表欄位名稱):
((@IsNull_FieldName = 1 AND FieldName IS NULL) OR
(FieldName = @Original_FieldName))
若 SourceColumnNullMapping 欄位為假, SqlCommandBuilder 則產生以下 WHERE 子句:
FieldName = @OriginalFieldName
此外, @IsNull_FieldName 若來源欄位包含空,則包含 1;若沒有則為 0。 此機制允許在 SQL Server 中進行效能優化,並提供跨多個提供者運作的共用程式碼。