Partager via


ROW (Entity SQL)

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

Syntaxe

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

Les 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 tente 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.

Remarques

Vous utilisez des constructeurs de lignes dans Entity SQL pour construire des enregistrements anonymes et 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 champs correspondent aux types des valeurs utilisées pour 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 dans un constructeur de ligne, Entity Framework tente de en générer un. Pour plus d’informations, consultez la section « Règles d’alias » de la rubrique Identificateurs .

Les règles suivantes s’appliquent à l’alias d’expression dans un constructeur de ligne :

  • Les expressions d’un constructeur de ligne ne peuvent pas faire référence à d’autres alias dans le même constructeur.

  • Deux expressions du même constructeur de ligne ne peuvent pas avoir le même alias.

Pour plus d’informations sur les constructeurs de requête, consultez Construction de types.

Exemple :

La requête Entity SQL suivante utilise l’opérateur ROW pour construire des enregistrements anonymes et structurellement typés. La requête est basée sur adventureWorks Sales Model. Pour compiler et exécuter cette requête, procédez comme suit :

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

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

SELECT VALUE ROW (product.ProductID AS ProductID,
    product.Name AS ProductName) FROM AdventureWorksEntities.Products
    AS product

Voir aussi