参照またはエンティティ式のキーを抽出します。
KEY(createref_expression)
解説
エンティティ キーには、指定されたエンティティまたはエンティティ参照の正しい順序でキー値が格納されます。複数のエンティティ セットが同じ型に基づくことができるので、同じキーがそれぞれのエンティティ セットで使用される場合があります。一意の参照を取得するには、REF を使用します。KEY 演算子の戻り値の型は、同じ順序でエンティティの各キーの 1 つのフィールドを含む行型です。
次の例では、キー演算子は、BadOrder エンティティへの参照に渡され、その参照のキー部分を返します。この場合、Id プロパティに対応する 1 つだけのフィールドを持つレコード型です。
select Key( CreateRef(LOB.BadOrders, row(o.Id)) )
from LOB.Orders as o
例
次の Entity SQL クエリは、KEY 演算子を使用して、型参照を持つ式のキー部分を抽出します。このクエリは、AdventureWorks Sales Model に基づいています。このクエリをコンパイルして実行するには、次の手順を実行します。
「StructuralType 結果を返すクエリの実行方法 (EntityClient)」の手順に従います。
次のクエリを引数として
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
...
参照
リファレンス
CREATEREF (Entity SQL)
REF (Entity SQL)
DEREF (Entity SQL)