CREATEREF (Entity SQL)

创建对实体集中的实体的引用。

CreateRef(entityset_identifier, row_typed_expression)

参数

  • entityset_identifier
    实体集标识符,不是字符串文本。
  • row_typed_expression
    对应于实体类型的键属性的行类型化表达式。

备注

row_typed_expression 必须在结构上等效于实体的键类型。即,其字段的数目和类型以及顺序必须与实体键相同。

在下面的示例中,Orders 和 BadOrders 都是类型 Order 的实体集,而假定 Id 为 Order 的单个键属性。该示例演示如何生成对 BadOrders 中的实体的引用。请注意,该引用可以是无关联引用。即,该引用可以不真正标识特定实体。在这种情况下,对该引用的 DEREF 操作会返回 Null。

select CreateRef(LOB.BadOrders, row(o.Id)) 
from LOB.Orders as o 

示例

下面的 Entity SQL 查询使用 CREATEREF 运算符创建对实体集中的实体的引用。此查询基于 AdventureWorks 销售模型。若要编译并运行此查询,请执行下列步骤:

  1. 执行如何:执行返回 StructuralType 结果的查询 (EntityClient) 中的过程。

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

SELECT VALUE Key(CreateRef(AdventureWorksEntities.Product, 
    row(p.ProductID))) FROM AdventureWorksEntities.Product as p

输出如下所示:

ProductID: 980
ProductID: 365
ProductID: 771
ProductID: 404
ProductID: 977
...

另请参见

参考

DEREF (Entity SQL)
KEY (Entity SQL)
REF (Entity SQL)

概念

Entity SQL 参考
引用运算符 (Entity SQL)