ROW (Entity SQL)

Crea registros anónimos con tipos asignados estructuralmente a partir de uno o varios valores.

Sintaxis

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

Argumentos

expression Cualquier expresión de consulta válida que devuelve un valor que se va a crear en un tipo de fila.

alias Especifica un alias para el valor especificado en un tipo de fila. Si no se proporciona un alias, Entity SQL intenta generar uno basado en las reglas de generación de alias de Entity SQL.

Valor devuelto

Un tipo de fila.

Observaciones

Debe utilizar constructores ROW en Entity SQL para crear registros anónimos escritos estructuralmente de uno o varios valores. El tipo de resultado de un constructor ROW es un tipo de fila cuyos tipos de campo corresponden a los tipos de los valores que se utilizaron para crear la fila. Por ejemplo, la expresión siguiente crea un valor de tipo Record(a int, b string, c int).

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

Si no proporciona un alias para una expresión en un constructor ROW, Entity Framework intentará generar uno. Para obtener más información, vea la sección "Reglas de alias" del tema Identificadores .

Las reglas siguientes se aplican a expresiones que usan alias en un constructor ROW:

  • Las expresiones en un constructor ROW no pueden hacer referencia a otros alias del mismo constructor.

  • Dos expresiones en el mismo constructor ROW no pueden tener el mismo alias.

Para obtener más información sobre los constructores de consultas, vea Construcción de tipos.

Ejemplo

La consulta de Entity SQL siguiente utiliza el operador ROW para construir registros anónimos escritos estructuralmente. La consulta se basa en el modelo AdventureWorks Sales. Para compilar y ejecutar esta consulta, siga estos pasos:

  1. Siga el procedimiento de How to: Execute a Query that Returns StructuralType Results.

  2. Pase la consulta siguiente como argumento al método ExecuteStructuralTypeQuery :

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

Consulte también