次の方法で共有


名前付きの型コンストラクタ (Entity SQL)

エンティティ型や複合型など、エンティティ データ モデル (EDM) 標準型のインスタンスの作成に使用します。

[{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 クエリでは、名前付きの型コンストラクタを使用して、EDM 型のインスタンスを作成します。このクエリは、AdventureWorks Sales Model に基づいています。このクエリをコンパイルして実行するには、次の手順を実行します。

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

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

SELECT VALUE AdventureWorksModel.SalesOrderDetail
    (o.SalesOrderDetailID, o.CarrierTrackingNumber,
    o.OrderQty, o.ProductID, o.SpecialOfferID, o.UnitPrice,
    o.UnitPriceDiscount, o.rowguid, o.ModifiedDate)
    FROM AdventureWorksEntities.SalesOrderDetail AS o

この例では次の出力が生成されます。

SalesOrderDetailID: 1
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 776
SalesOrderDetailID: 2
CarrierTrackingNumber: 4911-403C-98
OrderQty: 3
ProductID: 777
SalesOrderDetailID: 3
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 778
SalesOrderDetailID: 4
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 771
SalesOrderDetailID: 5
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 772
...

参照

概念

型コンストラクタ演算子 (Entity SQL)
Entity SQL リファレンス