ObjectContext.GetObjectByKey(EntityKey) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定されたエンティティ キーを持つオブジェクトを返します。
public:
System::Object ^ GetObjectByKey(System::Data::EntityKey ^ key);
public object GetObjectByKey (System.Data.EntityKey key);
member this.GetObjectByKey : System.Data.EntityKey -> obj
Public Function GetObjectByKey (key As EntityKey) As Object
パラメーター
- key
- EntityKey
検索するオブジェクトのキー。
戻り値
エンティティ型のインスタンスである Object。
例外
key
パラメーターが null
です。
ObjectStateManager またはデータ ソースでオブジェクトが見つかりません。
例
次の使用例は、指定した型のエンティティの を作成 EntityKey し、キーでエンティティをフェッチします。
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
try
{
// Define the entity key values.
IEnumerable<KeyValuePair<string, object>> entityKeyValues =
new KeyValuePair<string, object>[] {
new KeyValuePair<string, object>("SalesOrderID", 43680) };
// Create the key for a specific SalesOrderHeader object.
EntityKey key = new EntityKey("AdventureWorksEntities.SalesOrderHeaders", entityKeyValues);
// Get the object from the context or the persisted store by its key.
SalesOrderHeader order =
(SalesOrderHeader)context.GetObjectByKey(key);
Console.WriteLine("SalesOrderID: {0} Order Number: {1}",
order.SalesOrderID, order.SalesOrderNumber);
}
catch (ObjectNotFoundException ex)
{
Console.WriteLine(ex.ToString());
}
}
注釈
GetObjectByKey は、指定された EntityKey を持つオブジェクトを ObjectStateManager から取得しようとします。 オブジェクトが現在オブジェクト コンテキストに読み込まれていない場合は、データ ソースからオブジェクトを返すためにクエリが実行されます。 詳しくは、「オブジェクト クエリ」をご覧ください。
オブジェクトが見つからない場合、GetObjectByKey では ObjectNotFoundException が発生します。 この例外の処理を避けるには、代わりに TryGetObjectByKey メソッドを使用します。
このメソッドは、Deleted 状態のオブジェクトを返します。
一時キーを使用してデータ ソースからオブジェクトを取得することはできません。
適用対象
こちらもご覧ください
.NET