Condividi tramite


ROW (Entity SQL)

Costruisce record anonimi tipizzati strutturalmente 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, Entity SQL tenta di generare un alias in base alle regole di generazione degli alias sql di entità.

Valore restituito

Tipo di riga.

Osservazioni:

I costruttori di riga in Entity SQL vengono usati per costruire record anonimi tipizzati strutturalmente da uno o più valori. Il tipo di risultato di un costruttore di riga è un tipo di riga i cui tipi di campo corrispondono ai tipi dei valori utilizzati per costruire la riga. Ad esempio, l'espressione seguente costruisce 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 specifica un alias per un'espressione in un costruttore di righe, Entity Framework tenterà di generarne uno. Per altre informazioni, vedere la sezione "Regole di aliasing" dell'argomento Identificatori .

Le regole seguenti si applicano all'aliasing di espressioni in un costruttore di riga:

  • Le espressioni in un costruttore di riga 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

La query Entity SQL seguente usa l'operatore ROW per costruire record anonimi tipizzato strutturalmente. La query si basa sul modello AdventureWorks Sales. Per compilare ed eseguire questa query, seguire questa procedura:

  1. Seguire la procedura descritta in Procedura: Eseguire una query che restituisce risultati StructuralType.

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

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

Vedere anche