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 に基づいています。 このクエリをコンパイルして実行するには、次の手順を実行します。
「方法: StructuralType 結果を返すクエリを実行する」の手順に従います。
次のクエリを引数として
ExecuteStructuralTypeQuery
メソッドに渡します。
SELECT VALUE ROW (product.ProductID AS ProductID,
product.Name AS ProductName) FROM AdventureWorksEntities.Products
AS product