具名型別建構函式 (Entity SQL)

用於建立 實體資料模型 (EDM) 名義型別 (例如實體類型或複雜類型) 的執行個體。

[{identifier. }] identifier( [expression [{, expression }]] )

引數

  • 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 為依據。若要編譯及執行此查詢,請遵循以下步驟:

  1. 按照 HOW TO:執行可傳回 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 參考