SqlParameter.SourceColumnNullMapping Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Legt einen Wert fest, der angibt, ob die Quellspalte NULL-Werte zulässt, oder ruft ihn ab. Dadurch kann SqlCommandBuilder ordnungsgemäß Update-Anweisungen für Spalten generieren, die NULL-Werte zulassen.
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
Eigenschaftswert
true
, wenn die Quellspalte NULL-Werte zulässt, andernfalls false
.
Hinweise
SourceColumnNullMapping wird von verwendet SqlCommandBuilder , um Aktualisierungsbefehle beim Umgang mit Nullable-Spalten ordnungsgemäß zu generieren. Im Allgemeinen ist die Verwendung von SourceColumnNullMapping auf Entwickler beschränkt, die von SqlCommandBuildererben.
DbCommandBuilder verwendet diese Eigenschaft, um zu bestimmen, ob die Quellspalte nullable ist, und legt diese Eigenschaft auf true
fest, wenn sie NULLable ist und false
nicht. Wenn SqlCommandBuilder die Update-Anweisung generiert wird, untersucht sie die SourceColumnNullMapping für jeden Parameter. Wenn die -Eigenschaft ist true
, SqlCommandBuilder generiert eine WHERE-Klausel wie die folgende (in diesem Abfrageausdruck steht "FieldName" für den Namen des Felds):
((@IsNull_FieldName = 1 AND FieldName IS NULL) OR
(FieldName = @Original_FieldName))
Wenn SourceColumnNullMapping für das Feld false ist, SqlCommandBuilder generiert die folgende WHERE-Klausel:
FieldName = @OriginalFieldName
Enthält außerdem 1, @IsNull_FieldName wenn das Quellfeld NULL enthält, und 0, wenn dies nicht der Fall ist. Dieser Mechanismus ermöglicht eine Leistungsoptimierung in SQL Server und stellt allgemeinen Code bereit, der über mehrere Anbieter hinweg funktioniert.