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


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).

Примеры

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

  1. Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типа StructuralType (EntityClient).

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

SELECT VALUE row (product.ProductID as ProductID,
    product.Name as ProductName) FROM AdventureWorksEntities.Product
    AS product

Далее показан вывод.

ProductID: 1
ProductName: Adjustable Race
ProductID: 879
ProductName: All-Purpose Bike Stand
ProductID: 712
ProductName: AWC Logo Cap
ProductID: 3
ProductName: BB Ball Bearing
ProductID: 2
ProductName: Bearing Ball
...

См. также

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

Операторы конструктора типа (язык Entity SQL)
Справочник по Entity SQL