次の方法で共有


ROW (Entity SQL)

1 つまたは複数の値から構造的に型付けされた匿名レコードを構築します。

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

引数

  • expression
    行型で構築する値を返す任意の有効なクエリ式。
  • alias
    行型で指定された値の別名を指定します。 別名を指定しないと、Entity SQL は Entity SQL 別名生成規則に基づいて別名の生成を試みます。

戻り値

行型。

解説

1 つまたは複数の値から構造的に型付けされた匿名レコードを構築するには、Entity SQL の行コンストラクターを使用します。 行コンストラクターの結果の型は、行の構築に使用された値の型に対応するフィールド型を持つ行型です。 たとえば、次の式は Record(a int, b string, c int) 型の値を構築します。

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

If you do not provide an alias for an expression in a row constructor, the Entity Framework will try to generate one. 詳細については、「識別子」トピックの「別名規則」セクションを参照してください。

次の規則は、行コンストラクターで別名を定義する式に適用されます。

  • 行コンストラクターの式で同じコンストラクターの他の別名を参照することはできません。

  • 同じ行コンストラクター内の 2 つの式に同じ別名を指定することはできません。

クエリ コンストラクターの詳細については、「コンストラクター (Entity SQL)」を参照してください。

次の Entity SQL クエリは ROW 演算子を使用して、構造的に型付けされた匿名レコードを構築します。 このクエリは、AdventureWorks Sales Model に基づいています。 このクエリをコンパイルして実行するには、次の手順を実行します。

  1. Follow the procedure in StructuralType 結果を返すクエリの実行方法 (EntityClient).

  2. Pass the following query as an argument to the ExecuteStructuralTypeQuery method:

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

参照

概念

コンストラクター (Entity SQL)
Entity SQL リファレンス
型定義 (Entity SQL)