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:
Siga o procedimento em Como: Executar uma consulta que retorna resultados StructuralType.
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