Dela via


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:

  1. Följ proceduren i Så här kör du en fråga som returnerar StructuralType-resultat.

  2. 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

Se även