Partager via


ROW (Entity SQL)

Construit des enregistrements anonymes structurellement typés à partir d'une ou plusieurs valeurs.

ROW ( expression [ AS alias ] [,...] )

Arguments

  • expression
    Toute expression de requête valide qui retourne une valeur à construire dans un type de ligne.
  • alias
    Spécifie un alias pour la valeur spécifiée dans un type de ligne. Si aucun alias n'est fourni, Entité SQL essaie de générer un alias en fonction des règles de génération d'alias Entité SQL.

Valeur de retour

Type de ligne.

Notes

Les constructeurs de ligne s'avèrent utiles dans Entité SQL pour construire des enregistrements anonymes structurellement types à partir d'une ou plusieurs valeurs. Le type de résultat d'un constructeur de ligne est un type de ligne dont les types de champ correspondent aux types des valeurs qui ont servi à construire la ligne. Par exemple, l'expression suivante construit une valeur de type Record(a int, b string, c int).

ROW(1 AS a, "abc" AS b, a+34 AS c)

Si vous ne fournissez pas d'alias pour une expression contenue dans un constructeur de ligne, Entity Framework essaie d'en générer un. Pour plus d'informations, voir la section « Règles d'alias » de la rubrique Identificateurs.

Les règles suivantes s'appliquent à l'utilisation d'alias dans les expressions d'un constructeur de ligne :

  • les expressions contenues dans un constructeur de ligne ne peuvent pas faire référence aux autres alias du même constructeur ;

  • deux expressions contenues dans un même constructeur de ligne ne peuvent pas avoir le même alias.

Pour plus d'informations sur les constructeurs de requête, voir Opérateurs de constructeur de type (Entity SQL).

Exemple

La requête Entity SQL ci-dessous utilise l'opérateur ROW pour construire des enregistrements anonymes structurellement typés. 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 row (product.ProductID as ProductID,
    product.Name as ProductName) FROM AdventureWorksEntities.Product
    AS product

La sortie est présentée ci-dessous :

ProductID: 1
ProductName: Adjustable Race
ProductID: 879
ProductName: All-Purpose Bike Stand
ProductID: 712
ProductName: AWC Logo Cap
ProductID: 3
ProductName: BB Ball Bearing
ProductID: 2
ProductName: Bearing Ball
...

Voir aussi

Concepts

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