SqlParameter.SourceColumnNullMapping Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Establece u obtiene un valor que indica si la columna de origen acepta valores null. Esto permite a SqlCommandBuilder generar correctamente instrucciones Update para las columnas que aceptan valores NULL.
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
Valor de propiedad
true
si la columna de origen acepta valores null; false
en caso contrario.
Comentarios
SourceColumnNullMapping lo usa SqlCommandBuilder para generar correctamente comandos de actualización cuando se trabaja con columnas que aceptan valores NULL. Por lo general, el uso de SourceColumnNullMapping se limita a los desarrolladores que heredan de SqlCommandBuilder.
DbCommandBuilder usa esta propiedad para determinar si la columna de origen acepta valores NULL y establece esta propiedad true
en si es que acepta valores NULL y false
, si no es así. Cuando SqlCommandBuilder se genera su instrucción Update, examina para SourceColumnNullMapping cada parámetro. Si la propiedad es true
, SqlCommandBuilder genera una cláusula WHERE como la siguiente (en esta expresión de consulta, "FieldName" representa el nombre del campo):
((@IsNull_FieldName = 1 AND FieldName IS NULL) OR
(FieldName = @Original_FieldName))
Si SourceColumnNullMapping para el campo es false, SqlCommandBuilder genera la siguiente cláusula WHERE:
FieldName = @OriginalFieldName
Además, @IsNull_FieldName contiene 1 si el campo de origen contiene null y 0 si no lo hace. Este mecanismo permite una optimización del rendimiento en SQL Server y proporciona código común que funciona en varios proveedores.