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
プロパティ値
true ソース列が null 許容の場合。そうでない場合は false します。
注釈
SourceColumnNullMapping は、null 許容列を処理するときに更新コマンドを正しく生成するために、 SqlCommandBuilder によって使用されます。 一般に、 SourceColumnNullMapping の使用は、 SqlCommandBuilderから継承する開発者に限定されます。
DbCommandBuilder では、このプロパティを使用してソース列が null 許容かどうかを判断し、このプロパティが null 許容の場合は true に設定され、null 許容でない場合は false されます。
SqlCommandBuilderが Update ステートメントを生成するときに、各パラメーターのSourceColumnNullMappingを調べます。 プロパティが true場合、 SqlCommandBuilder は次のような 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でのパフォーマンスの最適化が可能になり、複数のプロバイダー間で動作する一般的なコードが提供されます。