具名型別建構函式 (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')))
以下範例示範如何將複雜類型的屬性初始化為:MyModel.ZipCode(‘98118’, null)
範例
以下 Entity SQL 查詢使用具名型別建構函式來建立 EDM 型別的執行個體。此查詢是以 AdventureWorks Sales Model 為依據。若要編譯及執行此查詢,請遵循以下步驟:
將下列查詢當成引數傳遞至
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
...