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 销售模型。 若要编译并运行此查询,请执行下列步骤:

  1. 执行 How to: Execute a Query that Returns StructuralType Results中的过程。

  2. 将以下查询作为参数传递给 ExecuteStructuralTypeQuery 方法:

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

请参阅