CREATEREF (实体 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 结果的查询

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

SELECT VALUE Key(CreateRef(AdventureWorksEntities.Products, 
    row(p.ProductID))) 
FROM AdventureWorksEntities.Products AS p

另请参阅