Структурированные типы, допускающие значение NULL (язык Entity SQL)
Экземпляр null структурированного типа — несуществующий экземпляр. Это отличается от существующего экземпляра, все свойства которого имеют значения null.
В этом разделе описаны структурированные типы, допускающие значение NULL, с указанием, какие типы допускают значение NULL и какие последовательности программного кода формируют экземпляры null структурированных типов, допускающих значение NULL.
Разновидности структурированных типов, допускающих значение NULL
Существует три разновидности структурированных типов, допускающих значение NULL:
Типы строк.
Сложные типы.
Типы сущностей.
Шаблоны кода, которые формируют экземпляры NULL структурированных типов
В следующем сценарии формируются экземпляры null:
Формирование null как структурированного типа:
TREAT (NULL AS StructuredType)
Приведение базового типа к производному типу:
TREAT (BaseType AS DerivedType)
Внешнее соединение по условию FALSE:
Collection1 LEFT OUTER JOIN Collection2 ON FalseCondition
--или
Collection1 RIGHT OUTER JOIN Collection2 ON FalseCondition
--или
Collection1 FULL OUTER JOIN Collection2 ON FalseCondition
Разыменование ссылки на null:
DEREF(NullRef)
Получение значения ANYELEMENT из пустой коллекции:
ANYELEMENT(EmptyCollection)
Проверка наличия экземпляров null структурированных типов:
... for (int i = 0; i < reader.FieldCount; i++) { if (reader.IsDBNull(i)) { Console.WriteLine(“[NULL]”); } else { Console.WriteLine(reader.GetValue(i).ToString()); } }