Namngiven typkonstruktor (entitets-SQL)
Används för att skapa instanser av konceptuella modell nominella typer, till exempel entitetstyper eller komplexa typer.
Syntax
[{identifier. }] identifier( [expression [{, expression }]] )
Argument
identifier
Värde som är en enkel eller citerad identifierare. Mer information finns i Identifierare
expression
Attribut av den typ som antas vara i samma ordning som de visas i deklarationen av typen.
Returvärde
Instanser av namngivna komplexa typer och entitetstyper.
Kommentarer
Följande exempel visar hur du konstruerar nominella och komplexa typer:
Uttrycket nedan skapar en instans av en Person
typ:
Person("abc", 12)
Uttrycket nedan skapar en instans av en komplex typ:
MyModel.ZipCode('98118', '4567')
Uttrycket nedan skapar en instans av en kapslad komplex typ:
MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567'))
Uttrycket nedan skapar en instans av en entitet med en kapslad komplex typ:
MyModel.Person("Bill", MyModel.AddressInfo('My street address', 'Seattle', 'WA', MyModel.ZipCode('98118', '4567')))
I följande exempel visas hur du initierar en egenskap av en komplex typ till null:MyModel.ZipCode('98118', null)
Exempel
Följande ENTitets-SQL-fråga använder konstruktorn med namngiven typ för att skapa en instans av en konceptuell modelltyp. Frågan baseras på AdventureWorks försäljningsmodell. Följ dessa steg för att kompilera och köra den här frågan:
Följ proceduren i Så här kör du en fråga som returnerar StructuralType-resultat.
Skicka följande fråga som ett argument till
ExecuteStructuralTypeQuery
metoden:
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