SqlParameter.SourceColumnNullMapping Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, показывающее, допускает ли исходный столбец значения NULL. Это позволяет SqlCommandBuilder правильно создавать инструкции Update для столбцов со значением 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
Значение свойства
true
, если исходный столбец допускает значение NULL, false
— в противном случае.
Комментарии
SourceColumnNullMapping используется для правильного SqlCommandBuilder создания команд обновления при работе со столбцами, допускающих значение NULL. Как правило, использование ограничивается разработчиками SourceColumnNullMapping , наследующими от SqlCommandBuilder.
DbCommandBuilder использует это свойство, чтобы определить, допускает ли исходный столбец значение 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
Кроме того, содержит значение 1, @IsNull_FieldName если исходное поле содержит значение NULL, и 0, если это не так. Этот механизм позволяет оптимизировать производительность в SQL Server и обеспечивает общий код, который работает в нескольких поставщиках.