CREATEREF (Entity SQL)

エンティティ セット内のエンティティへの参照を作成します。

構文

CreateRef(entityset_identifier, row_typed_expression)  

引数

entityset_identifier
エンティティ セット識別子。文字列リテラルは使用できません。

row_typed_expression
エンティティ型のキー プロパティに対応する行型の式。

Remarks

row_typed_expression は、エンティティのキーの種類に構造的に同等である必要があります。 つまり、エンティティ キーのフィールドの数、型、および順序と一致している必要があります。

次の例では、Orders と BadOrders は両方とも Order 型のエンティティ セットで、ID は Order の 1 つのキー プロパティであると見なされます。 この例は、BadOrders 内のエンティティへの参照を生成する方法を示しています。 参照は未解決の場合がある点に注意してください。 つまり、参照は実際には指定のエンティティを識別しない場合があります。 そのような場合、その参照に対して DEREF 操作を行うと、null が返されます。

SELECT CreateRef(LOB.BadOrders, row(o.Id))
FROM LOB.Orders AS o

次の Entity SQL クエリは、CREATEREF 演算子を使用してエンティティ セット内のエンティティへの参照を作成します。 このクエリは、AdventureWorks Sales Model に基づいています。 このクエリをコンパイルして実行するには、次の手順を実行します。

  1. 方法: StructuralType 結果を返すクエリを実行する」の手順に従います。

  2. 次のクエリを引数として ExecuteStructuralTypeQuery メソッドに渡します。

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

関連項目