OdbcParameter.SourceColumnNullMapping Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, показывающее, допускает ли исходный столбец значения NULL. Это позволяет объекту DbCommandBuilder правильно генерировать операторы 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 используется для правильного 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 и обеспечивает общий код, который работает в нескольких поставщиках.