Compartilhar via


LINHA (Entity SQL)

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

Sintaxe

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

Argumentos

expression Qualquer expressão de consulta válida que retorna um valor para construir em seguida o tipo.

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

Valor Retornado

Um tipo de linha.

Comentários

Você usa construtores de linha no Entity SQL para construir registros anônimos com tipo estrutural de um ou mais valores. O tipo do resultado de um construtor de linha é um tipo de linha cujos tipos de campo correspondem aos tipos de valores que foram usados para construir a linha. Por exemplo, a expressão a seguir constrói um valor de 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 um construtor de expressão em seguida, Entity Framework tentará gerar um. Para obter mais informações, confira a seção "Regras de Aliases" do tópico de Identificadores.

As seguintes regras se aplicam para o construtor de serrilha de expressão em uma linha:

  • O construtor das expressões em uma linha não pode referenciar outras alias no mesmo construtor.

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

Para obter mais informações sobre construtores de consulta, confira Tipos de Construtores.

Exemplo

A seguinte consulta SQL Entity usa o operador de LINHA para construir registros anônimos, estrutural tipados. A consulta é baseada no modelo de vendas AdventureWorks. Para compilar e executar essa consulta, siga estas etapas:

  1. Siga o procedimento em Como executar uma consulta que retorna resultados de StructuralType.

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

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

Confira também