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 に基づいています。 このクエリをコンパイルして実行するには、次の手順を実行します。
Follow the procedure in StructuralType 結果を返すクエリの実行方法 (EntityClient).
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