Partilhar via


ROW (SQL de entidade)

Constrói registros anônimos e estruturalmente tipados a partir de um ou mais valores.

Sintaxe

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

Argumentos

expression Qualquer expressão de consulta válida que retorna um valor a ser construído em um tipo de linha.

alias Especifica um alias para o valor especificado em um tipo de linha. Se um alias não for fornecido, o Entity SQL tentará gerar um alias com base nas regras de geração de alias do Entity SQL.

Devolver Valor

Um tipo de linha.

Observações

Você usa construtores de linha no Entity SQL para construir registros anônimos e estruturalmente tipados a partir de um ou mais valores. O tipo de resultado de um construtor de linha é um tipo de linha cujos tipos de campo correspondem aos tipos dos valores que foram usados para construir a linha. Por exemplo, a expressão a seguir constrói um valor do tipo Record(a int, b string, c int).

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

Se você não fornecer um alias para uma expressão em um construtor de linha, o Entity Framework tentará gerar um. Para obter mais informações, consulte a seção "Regras de aliasing" do tópico Identificadores .

As regras a seguir se aplicam ao aliasing de expressão em um construtor de linha:

  • Expressões em um construtor de linha não podem se referir a outros aliases no mesmo construtor.

  • Duas expressões no mesmo construtor de linha não podem ter o mesmo alias.

Para obter mais informações sobre construtores de consulta, consulte Construindo tipos.

Exemplo

A consulta Entity SQL a seguir usa o operador ROW para construir registros anônimos e estruturalmente tipados. A consulta é baseada no Modelo de Vendas AdventureWorks. Para compilar e executar esta consulta, siga estes passos:

  1. Siga o procedimento em Como: Executar uma consulta que retorna resultados StructuralType.

  2. Passe a seguinte consulta como um argumento para o ExecuteStructuralTypeQuery método:

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

Consulte também