Поделиться через


Структурированные типы, допускающие значение 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());
        }
    }
    

См. также

Основные понятия

Общие сведения о языке Entity SQL