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


ROW (Entity SQL)

Создает анонимные структурно типизированные записи из одного или нескольких значений.

Синтаксис

ROW ( expression [ AS alias ] [,...] )

Аргументы

expression Любое допустимое выражение запроса, возвращающее значение для создания в типе строки.

alias Указывает псевдоним значения, указанного в типе строки. Если псевдоним не указан, Entity SQL пытается создать псевдоним на основе правил создания псевдонима Entity SQL.

Возвращаемое значение

Тип строки.

Замечания

Конструкторы строк в Entity SQL используются для создания анонимных, структурны типизированных записей из одного или нескольких значений. Итоговый тип конструктора строк является типом строки, типы полей которого соответствуют типам значений, которые использовались для создания этой строки. Например, следующее выражение создает значение типа Record(a int, b string, c int).

ROW(1 AS a, "abc" AS b, a+34 AS c)

Если в конструкторе строк не указан псевдоним для выражения, то платформа Entity Framework попытается сформировать его. Дополнительные сведения см. в разделе «Правила присвоения псевдонимов» темы Идентификаторы .

В конструкторе строк псевдонимы присваиваются выражениям по следующим правилам.

  • Выражение в конструкторе строк не может ссылаться на другие псевдонимы в этом же конструкторе.

  • Два выражения в одном конструкторе строк не могут иметь одинаковый псевдоним.

Дополнительные сведения о конструкторах запросов см. в разделе "Создание типов".

Пример

В следующем запросе Entity SQL оператор ROW используется для создания анонимных структурно типизированных записей. Запрос основан на модели AdventureWorks Sales. Для компиляции и запуска этого запроса выполните следующие шаги.

  1. Выполните процедуру из статьи How to: Execute a Query that Returns StructuralType Results.

  2. Передайте следующий запрос в качестве аргумента методу ExecuteStructuralTypeQuery :

SELECT VALUE ROW (product.ProductID AS ProductID,
    product.Name AS ProductName) FROM AdventureWorksEntities.Products
    AS product

См. также