Допускающие значения 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());  
        }  
    }  
    

См. также