从一个或多个值构造匿名、结构化类型的记录。
语法
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 销售模型。 若要编译并运行此查询,请执行以下步骤:
按照作方法中的过程作 :执行返回 StructuralType 结果的查询。
将以下查询作为参数传递给
ExecuteStructuralTypeQuery
方法:
SELECT VALUE ROW (product.ProductID AS ProductID,
product.Name AS ProductName) FROM AdventureWorksEntities.Products
AS product