FLATTEN (Entity SQL)
コレクションのコレクションをフラット化して単一のコレクションに変換します。変換後のコレクションは、入れ子構造が失われるだけで、変換前のコレクションとまったく同じ要素を格納します。
FLATTEN ( collection )
引数
- collection
値のコレクションのコレクションをフラット化して単一のコレクションとして返す有効な任意の式。
解説
FLATTEN は、Entity SQL の集合演算子の 1 つです。Entity SQL のすべての集合演算子は左から右に評価されます。Entity SQL の集合演算子の優先順位に関する情報については、「EXCEPT (Entity SQL)」を参照してください。
例
次の Entity SQL クエリでは、FLATTEN 演算子を使用して、コレクションのコレクションをフラット化されたコレクションに変換します。このクエリをコンパイルして実行するには、次の手順を実行します。
「StructuralType 結果を返すクエリの実行方法 (EntityClient)」の手順に従います。
次のクエリを引数として
ExecuteStructuralTypeQuery
メソッドに渡します。
FLATTEN(SELECT VALUE c.SalesOrderHeader From
AdventureWorksEntities.Contact as c)
この例では次の出力が生成されます。
SalesOrderID: 43659
RevisionNumber: 16
OrderDate: 7/1/2001 12:00:00 AM
DueDate: 7/13/2001 12:00:00 AM
ShipDate: 7/8/2001 12:00:00 AM
Status: 1
OnlineOrderFlag: False
SalesOrderNumber: SO43659
PurchaseOrderNumber: PO522145787
AccountNumber: 10-4020-000676
CustomerID: 676
SalesPersonID: 279
TerritoryID: 5
ShipMethodID: 5
CreditCardID: 16281
CreditCardApprovalCode: 105041Vi84182
CurrencyRateID: SubTotal: 47020.9106
TaxAmt: 1971.5149
Freight: 616.0984
TotalDue: 49608.5239
Comment: rowguid: 79b65321-39ca-4115-9cba-8fe0903e12e6
ModifiedDate: 7/8/2001 12:00:00 AM
...