ROW (Entity SQL)
从一个或多个值构造结构上类型化的匿名记录。
语法
ROW ( expression [ AS alias ] [,...] )
参数
expression
任何有效的查询表达式,该表达式返回要在行类型中构造的值。
alias
为在行类型中指定的值指定别名。 如果未提供别名,则实体 SQL 会尝试基于实体 SQL 别名生成规则来生成别名。
返回值
一个行类型。
备注
使用实体 SQL 中的行构造函数可以从一个或多个值构造结构上类型化的匿名记录。 行构造函数的结果类型为行类型,其字段类型对应于用于构造该行的值的类型。 例如,下面的表达式构造一个类型为 Record(a int, b string, c int)
的值。
ROW(1 AS a, "abc" AS b, a+34 AS c)
如果没有为行构造函数中的表达式提供别名,则实体框架会尝试生成一个别名。 有关更多信息,请参见 标识符 主题中的“别名规则”一节。
以下规则适用于在行构造函数中指定表达式别名:
行构造函数中的表达式不能引用同一构造函数中的其他别名。
同一行构造函数中的两个表达式不能具有相同别名。
有关查询构造函数的详细信息,请参阅 构造函数类型。
示例
下面的 Entity SQL 查询使用 ROW 运算符构造结构上类型化的匿名记录。 此查询基于 AdventureWorks 销售模型。 若要编译并运行此查询,请执行下列步骤:
执行 How to: Execute a Query that Returns StructuralType Results中的过程。
将以下查询作为参数传递给
ExecuteStructuralTypeQuery
方法:
SELECT VALUE ROW (product.ProductID AS ProductID,
product.Name AS ProductName) FROM AdventureWorksEntities.Products
AS product