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