Costruttore di tipi denominati (Entity SQL)
Utilizzato per creare istanze di tipi nominali del modello concettuale, ad esempio i tipi di entità o i tipi complessi.
[{identifier. }] identifier( [expression [{, expression }]] )
Argomenti
- identifier
Valore che rappresenta un identificatore semplice o delimitato. Per ulteriori informazioni, vedere Identificatori (Entity SQL).
- 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 utilizzato 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:
Seguire la procedura indicata in Procedura: eseguire una query che restituisce risultati StructuralType (EntityClient).
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