DbParameter.SourceColumnNullMapping Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, указывающее, является ли исходный столбец пустым. Это позволяет DbCommandBuilder правильно создавать инструкции Update для столбцов, допускающих значение NULL.
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
Значение свойства
true Значение NULL, если исходный столбец имеет значение NULL; false Если это не так.
Комментарии
SourceColumnNullMapping используется DbCommandBuilder для правильного создания команд обновления при работе с столбцами, допускаемыми значением NULL. Как правило, использование SourceColumnNullMapping ограничено разработчиками, наследующими от DbCommandBuilder.
DbCommandBuilder использует это свойство, чтобы определить, является ли исходный столбец значением NULL, и задает для этого свойства true значение, если оно равно null, и false если это не так. При DbCommandBuilder создании инструкции Update проверяется SourceColumnNullMapping для каждого параметра. Если свойство имеет значение true, DbCommandBuilder создается предложение WHERE, например следующее (в этом выражении запроса "FieldName" представляет имя поля):
((@IsNull_FieldName = 1 AND FieldName IS NULL) OR
(FieldName = @Original_FieldName))
Если SourceColumnNullMapping для поля задано falseзначение, DbCommandBuilder создается следующее предложение WHERE:
FieldName = @OriginalFieldName
Кроме того, содержит значение 1, @IsNull_FieldName если исходное поле содержит значение NULL и 0, если он не имеет значения. Этот механизм позволяет оптимизировать производительность в SQL Server и предоставляет общий код, который работает в нескольких поставщиках.