Costruttore di tipo denominato (Entity SQL)

Utilizzato per creare istanze di tipi nominali del modello concettuale, ad esempio i tipi di entità o i tipi complessi.

Sintassi

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

Argomenti

identifier
Valore che rappresenta un identificatore semplice o delimitato. Per altre informazioni, vedere Identificatori

expression
Attributi del tipo che si presuppone essere nello stesso ordine in cui appaiono nella dichiarazione del tipo.

Valore restituito

Istanze di tipi di entità e di tipi complessi denominati.

Osservazioni:

Negli esempi seguenti viene illustrato come costruire i tipi nominali e complessi:

L'espressione seguente consente di creare un'istanza di un tipo Person :

Person("abc", 12)

L'espressione seguente consente di creare un'istanza di un tipo complesso:

MyModel.ZipCode('98118', '4567')

L'espressione seguente consente di creare un'istanza di un tipo complesso annidato:

MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567'))

L'espressione seguente consente di creare un'istanza di un'entità con un tipo complesso annidato:

MyModel.Person("Bill", MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567')))

Nell'esempio seguente viene illustrato come inizializzare una proprietà di un tipo complesso impostandola su Null:MyModel.ZipCode('98118', null).

Esempio

Nella query Entity SQL seguente viene usato il costruttore di tipi denominati per creare un'istanza di un tipo di modello concettuale. La query è basata sul modello Sales di AdventureWorks. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:

  1. Seguire la procedura indicata in How to: Execute a Query that Returns StructuralType Results.

  2. Passare la query seguente come argomento al metodo ExecuteStructuralTypeQuery :

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

Vedi anche