ROW (实体 SQL)

从一个或多个值构造匿名、结构化类型的记录。

语法

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

论据

expression 返回要在行类型中构造的值的任何有效查询表达式。

alias 指定行类型中指定的值的别名。 如果未提供别名,Entity SQL 会尝试根据 Entity SQL 别名生成规则生成别名。

返回值

行类型。

注解

使用实体 SQL 中的行构造函数从一个或多个值构造匿名、结构化类型化的记录。 行构造函数的结果类型是一种行类型,其字段类型对应于用于构造行的值的类型。 例如,以下表达式构造类型为类型的 Record(a int, b string, c int)值。

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

如果未在行构造函数中为表达式提供别名,Entity Framework 将尝试生成一个。 有关详细信息,请参阅 标识符 主题的“别名规则”部分。

以下规则适用于行构造函数中的表达式别名:

  • 行构造函数中的表达式不能引用同一构造函数中的其他别名。

  • 同一行构造函数中的两个表达式不能具有相同的别名。

有关查询构造函数的详细信息,请参阅 构造类型

示例:

以下 Entity SQL 查询使用 ROW 运算符构造匿名结构化记录。 查询基于 AdventureWorks 销售模型。 若要编译并运行此查询,请执行以下步骤:

  1. 按照作方法中的过程作 :执行返回 StructuralType 结果的查询

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

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

另请参阅