DbParameter.SourceColumnNullMapping Property

Definition

Gets or sets a value which indicates whether the source column is nullable. This allows DbCommandBuilder to correctly generate Update statements for nullable columns.

public:
 abstract property bool SourceColumnNullMapping { bool get(); void set(bool value); };
public abstract bool SourceColumnNullMapping { get; set; }
member this.SourceColumnNullMapping : bool with get, set
Public MustOverride Property SourceColumnNullMapping As Boolean

Property Value

true if the source column is nullable; false if it is not.

Remarks

SourceColumnNullMapping is used by the DbCommandBuilder to correctly generate update commands when dealing with nullable columns. Generally, use of SourceColumnNullMapping is limited to developers inheriting from DbCommandBuilder.

DbCommandBuilder uses this property to determine whether the source column is nullable, and sets this property to true if it is nullable, and false if it is not. When DbCommandBuilder is generating its Update statement, it examines the SourceColumnNullMapping for each parameter. If the property is true, DbCommandBuilder generates a WHERE clauses like the following (in this query expression, "FieldName" represents the name of the field):

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

If SourceColumnNullMapping for the field is false, DbCommandBuilder generates the following WHERE clause:

FieldName = @OriginalFieldName  

In addition, @IsNull_FieldName contains 1 if the source field contains null, and 0 if it does not. This mechanism allows for a performance optimization in SQL Server, and provides for common code that works across multiple providers.

Applies to

See also