ROW (Entity SQL)

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

構文

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

引数

expression 行型で構築する値を返す任意の有効なクエリ式。

alias 行型で指定された値の別名を指定します。 別名を指定しないと、Entity SQL により、Entity SQL 別名生成規則に基づいて別名の生成が試みられます。

戻り値

行型。

Remarks

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

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

行コンストラクターで式の別名が指定されていなければ、Entity Framework は別名の生成を試みます。 詳細については、「 識別子 」トピックの「別名規則」セクションを参照してください。

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

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

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

クエリ コンストラクターについて詳しくは、「コンストラクター」をご覧ください。

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

  1. 方法: StructuralType 結果を返すクエリを実行する」の手順に従います。

  2. 次のクエリを引数として ExecuteStructuralTypeQuery メソッドに渡します。

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

関連項目