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:
Seguire la procedura indicata in How to: Execute a Query that Returns StructuralType Results.
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