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


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. Чтобы скомпилировать и запустить этот запрос, выполните следующие действия.

  1. Выполните процедуру, описанную в разделе "Практическое руководство. Выполнение запроса, возвращающего результаты структурного типа".

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

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

См. также