次の方法で共有


CREATEREF (Entity SQL)

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

CreateRef(entityset_identifier, row_typed_expression)

引数

  • entityset_identifier
    エンティティ セット識別子。文字列リテラルは使用できません。
  • row_typed_expression
    エンティティ型のキー プロパティに対応する行型の式。

解説

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. Follow the procedure in StructuralType 結果を返すクエリの実行方法 (EntityClient).

  2. Pass the following query as an argument to the ExecuteStructuralTypeQuery method:

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

参照

リファレンス

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

概念

Entity SQL リファレンス