Partager via


Constructeur de type nommé (Entity SQL)

Permet de créer des instances des types nominaux de modèle conceptuel, tels que les types d'entités ou complexes.

Syntaxe

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

Arguments

identifier
Valeur correspondant à un identificateur simple ou entre guillemets. Pour plus d’informations, consultez Identificateurs.

expression
Attributs du type supposés se trouver dans le même ordre d'apparition que dans la déclaration du type.

Valeur de retour

Instances de types complexes et de types d'entités nommés.

Notes

Les exemples suivants montrent comment construire des types nominaux et des types complexes :

L'expression ci-dessous crée une instance de type Person :

Person("abc", 12)

L'expression ci-dessous crée une instance d'un type complexe :

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

L'expression ci-dessous crée une instance d'un type complexe imbriqué :

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

L'expression ci-dessous crée une instance d'une entité avec un type complexe imbriqué :

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

L'exemple suivant montre comment initialiser une propriété d'un type complexe en valeur null :MyModel.ZipCode('98118', null)

Exemple

La requête Entity SQL ci-dessous utilise le constructeur de type nommé pour créer une instance d'un type de modèle conceptuel. Cette requête est basée sur le modèle de vente AdventureWorks Sales Model. Pour compiler et exécuter cette requête, procédez comme suit :

  1. Suivez la procédure indiquée dans How to: Execute a Query that Returns StructuralType Results.

  2. Transmettez à la méthode ExecuteStructuralTypeQuery la requête suivante en tant qu'argument :

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

Voir aussi