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


Типы структурированных значений NULL (Entity SQL)

Экземпляр null структурированного типа — это экземпляр, который не существует. Это отличается от существующего экземпляра, в котором все свойства имеют null значения.

В этом разделе описываются структурированные типы, допускающие значение NULL, включая типы, допускающие значение NULL, и шаблоны кода, которые создают null экземпляры структурированных типов, допускающих значение NULL.

Типы структурированных типов, допускающих значение NULL

Существует три типа типы структур, допускающих значение NULL:

  • Типы строк.

  • Сложные типы.

  • Типы сущностей.

Шаблоны кода, которые создают экземпляры null структурированных типов

В следующих сценариях создаются null экземпляры:

  • null Формирование в виде структурированного типа:

    TREAT (NULL AS StructuredType)  
    
  • Переадресовка базового типа в производный тип:

    TREAT (BaseType AS DerivedType)  
    
  • Внешнее соединение с ложным условием:

    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());  
        }  
    }  
    

См. также