名前付きの型コンストラクター (Entity SQL)
エンティティ型や複合型など、概念モデル標準型のインスタンスの作成に使用します。
[{identifier. }] identifier( [expression [{, expression }]] )
引数
- identifier
単純な識別子および引用符で囲まれた識別子の値。 詳細については、「識別子 (Entity SQL)」を参照してください。
- expression
型の宣言に表示される順序と同じ順序であると見なされる型の属性。
戻り値
名前付きの複合型とエンティティ型のインスタンス。
解説
次の例は、標準型と複合型を作成する方法を示しています。
次の式は、Person 型のインスタンスを作成する式です。
Person("abc", 12)
次の式は、複合型のインスタンスを作成する式です。
MyModel.ZipCode(‘98118’, ‘4567’)
次の式は、入れ子になった複合型のインスタンスを作成する式です。
MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567'))
次の式は、入れ子になった複合型を持つエンティティのインスタンスを作成する式です。
MyModel.Person("Bill", MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567')))
次の例は、複合型のプロパティを null に初期化する方法を示しています。MyModel.ZipCode('98118', null)
例
次の Entity SQL クエリでは、名前付きの型コンストラクターを使用して、概念モデル型のインスタンスを作成します。 このクエリは、AdventureWorks Sales Model に基づいています。 このクエリをコンパイルして実行するには、次の手順を実行します。
Follow the procedure in StructuralType 結果を返すクエリの実行方法 (EntityClient).
Pass the following query as an argument to the
ExecuteStructuralTypeQuery
method:
SELECT VALUE AdventureWorksModel.SalesOrderDetail
(o.SalesOrderID, o.SalesOrderDetailID, o.CarrierTrackingNumber,
o.OrderQty, o.ProductID, o.SpecialOfferID, o.UnitPrice,
o.UnitPriceDiscount, o.LineTotal, o.rowguid, o.ModifiedDate)
FROM AdventureWorksEntities.SalesOrderDetails AS o