Система типов (язык 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.
См. также
Справочник
Основные понятия
Общие сведения о языке Entity SQL
Справочник по Entity SQL