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


Система типов (язык Entity SQL)

Язык Entity SQL поддерживает следующие типы.

  • Типы-примитивы (простые типы), такие как Int32 и String.

  • Номинальные типы, которые определяются в схеме, например EntityType, ComplexType и RelationshipType.

  • Анонимные типы, которые явно не определяются в схеме: CollectionType, RowType и RefType.

В этом разделе рассматриваются анонимные типы, которые не определяются в схеме явно, но поддерживаются языком Entity SQL. Сведения о типах-примитивах и номинальных типах см. в разделе Типы модели EDM.

Строки

Структура строки зависит от последовательности типизированных и именованных элементов, из которых состоит строка. Тип строки не имеет идентификатора и не может наследоваться. Экземпляры строк одинакового типа считаются равными, если равны соответствующие элементы этих строк. Со строками не связаны операции, отличные от проверки равнозначности их структуры, к тому же они не имеют эквивалентов в среде CLR. Запросы могут возвращать структуры, содержащие строки или коллекции строк. API определения привязки между запросами Entity SQL и базовым языком определяет способ реализации строк в запросе, вырабатывающем этот результат. Сведения о создании экземпляра строки см. в разделе Операторы конструктора типа (язык Entity SQL).

Коллекции

Типы коллекций представляют ноль и более экземпляров других объектов. Сведения о конструировании коллекций см. в разделе Операторы конструктора типа (язык Entity SQL).

Ссылки

Ссылка — это логический указатель на отдельную сущность в определенном наборе сущностей.

Язык Entity SQL поддерживает следующие операторы для конструирования, деконструирования и перехода по ссылкам.

По ссылке можно переходить с помощью оператора доступа к элементам «точка» (.). В следующем фрагменте извлекается свойство Id (объекта Order) путем перехода по свойству r (сокращение от reference).

select o2.r.Id 
from (select ref(o) as r from LOB.Orders as o) as o2 

Если ссылка имеет значение NULL или цель ссылки не существует, результатом становится NULL.

См. также

Справочник

CAST (Entity SQL)

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

Общие сведения о языке Entity SQL
Справочник по Entity SQL

Другие ресурсы

Спецификации модели EDM