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. Для компиляции и запуска этого запроса выполните следующие шаги.
Выполните процедуру из статьи How to: Execute a Query that Returns StructuralType Results.
Передайте следующий запрос в качестве аргумента методу
ExecuteStructuralTypeQuery
:
SELECT VALUE ROW (product.ProductID AS ProductID,
product.Name AS ProductName) FROM AdventureWorksEntities.Products
AS product