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 に基づいています。 このクエリをコンパイルして実行するには、次の手順を実行します。
「方法: StructuralType 結果を返すクエリを実行する」の手順に従います。
次のクエリを引数として
ExecuteStructuralTypeQuery
メソッドに渡します。
SELECT VALUE Key(CreateRef(AdventureWorksEntities.Products,
row(p.ProductID)))
FROM AdventureWorksEntities.Products AS p