Partager via


ROW (Entity SQL)

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

Syntaxe

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, Entity SQL essaie de générer un alias en fonction des règles de génération d’alias Entity SQL.

Valeur de retour

Type de ligne.

Notes

Les constructeurs de ligne s’avèrent utiles dans Entity SQL pour construire des enregistrements anonymes structurellement typés à 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, consultez Types de construction.

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 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 ROW (product.ProductID AS ProductID,
    product.Name AS ProductName) FROM AdventureWorksEntities.Products
    AS product

Voir aussi