Partager via


Constructeur de type nommé (Entity SQL)

Permet de créer des instances de types nominaux EDM (Modèle de données d'entité), tels que les types d'entités ou complexe.

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

Arguments

  • identifier
    Valeur correspondant à un identificateur simple ou entre guillemets. Pour plus d'informations, voir Identificateurs (Entity SQL).
  • 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 constructure de type nommé pour créer une instance d'un type EDM. 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 Procédure : exécuter une requête qui retourne des résultats StructuralType (EntityClient).

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

SELECT VALUE AdventureWorksModel.SalesOrderDetail
    (o.SalesOrderDetailID, o.CarrierTrackingNumber,
    o.OrderQty, o.ProductID, o.SpecialOfferID, o.UnitPrice,
    o.UnitPriceDiscount, o.rowguid, o.ModifiedDate)
    FROM AdventureWorksEntities.SalesOrderDetail AS o

Cet exemple produit la sortie suivante :

SalesOrderDetailID: 1
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 776
SalesOrderDetailID: 2
CarrierTrackingNumber: 4911-403C-98
OrderQty: 3
ProductID: 777
SalesOrderDetailID: 3
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 778
SalesOrderDetailID: 4
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 771
SalesOrderDetailID: 5
CarrierTrackingNumber: 4911-403C-98
OrderQty: 1
ProductID: 772
...

Voir aussi

Concepts

Opérateurs de constructeur de type (Entity SQL)
Référence Entity SQL