Condividi tramite


ROW (Entity SQL)

Consente di costruire record anonimi strutturalmente tipizzati da uno o più valori.

Sintassi

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

Argomenti

expression Qualsiasi espressione di query valida che restituisce un valore da costruire in un tipo di riga.

alias Specifica un alias per il valore specificato in un tipo di riga. Se non viene fornito un alias, in Entity SQL viene eseguito un tentativo di generare un alias usando le regole di generazione di alias Entity SQL.

Valore restituito

Tipo di riga.

Osservazioni:

Si usano costruttori ROW in Entity SQL per costruire record anonimi strutturalmente tipizzati da uno o più valori. Il tipo di risultato di un costruttore ROW è un tipo di riga i cui tipi di campo corrispondono ai tipi dei valori usati per costruire la riga. L'espressione seguente consente ad esempio di costruire un valore di tipo Record(a int, b string, c int).

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

Se non si fornisce un alias per un'espressione in un costruttore di riga, in Entity Framework viene eseguito un tentativo di generarne uno. Per altre informazioni, vedere la sezione "Regole relative all'utilizzo degli alias" dell'argomento Identificatori .

Le regole seguenti riguardano l'uso di alias nelle espressioni in un costruttore di riga:

  • Le espressioni in un costruttore ROW non possono fare riferimento ad altri alias nello stesso costruttore.

  • Due espressioni nello stesso costruttore di riga non possono avere lo stesso alias.

Per altre informazioni sui costruttori di query, vedere Costruzione di tipi.

Esempio

Nella query Entity SQL seguente viene usato l'operatore ROW per costruire record anonimi strutturalmente tipizzati. La query è basata sul modello Sales di AdventureWorks. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:

  1. Seguire la procedura indicata in How to: Execute a Query that Returns StructuralType Results.

  2. Passare la query seguente come argomento al metodo ExecuteStructuralTypeQuery :

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

Vedi anche