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:
Seguire la procedura indicata in How to: Execute a Query that Returns StructuralType Results.
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