Konstruktoren benannter Typen (Entity SQL)

Wird verwendet, um Instanzen von nominalen (EDM)-Typen eines konzeptionellen Modells, wie Entitätstypen oder komplexe Typen zu erstellen.

Syntax

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

Argumente

identifier
Wert, der ein einfacher Bezeichner oder ein Bezeichner in Anführungszeichen ist. Weitere Informationen finden Sie unter Bezeichner

expression
Attribute des Typs, deren Reihenfolge mit der in der Deklaration des Typs übereinstimmen sollte.

Rückgabewert

Instanzen benannter komplexer Typen und Entitätstypen.

Bemerkungen

In den folgenden Beispielen wird gezeigt, wie nominale und komplexe Typen erstellt werden:

Mit dem folgenden Ausdruck wird eine Instanz des Person -Typs erstellt:

Person("abc", 12)

Mit dem folgenden Ausdruck wird eine Instanz eines komplexen Typs erstellt:

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

Mit dem folgenden Ausdruck wird eine Instanz eines geschachtelten komplexen Typs erstellt:

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

Mit dem folgenden Ausdruck wird eine Instanz einer Entität mit einem geschachtelten komplexen Typ erstellt:

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

Im folgenden Beispiel wird gezeigt, wie eine Eigenschaft eines komplexen Typs mit NULL initialisiert wird:MyModel.ZipCode('98118', null)

Beispiel

In der folgenden Entity SQL-Abfrage wird der Konstruktor benannter Typen verwendet, um eine Instanz eines konzeptionellen Modelltyps zu erstellen. Diese Abfrage beruht auf dem "AdventureWorks Sales"-Modell. Führen Sie folgende Schritte aus, um diese Abfrage zu kompilieren und auszuführen:

  1. Verwenden Sie das Verfahren unter How to: Execute a Query that Returns StructuralType Results.

  2. Übergeben Sie die folgende Abfrage als Argument an die ExecuteStructuralTypeQuery -Methode:

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

Siehe auch