ObjectContext.TryGetObjectByKey(EntityKey, Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定されたエンティティ キーを持つオブジェクトを返します。
public:
bool TryGetObjectByKey(System::Data::EntityKey ^ key, [Runtime::InteropServices::Out] System::Object ^ % value);
public bool TryGetObjectByKey (System.Data.EntityKey key, out object value);
member this.TryGetObjectByKey : System.Data.EntityKey * obj -> bool
Public Function TryGetObjectByKey (key As EntityKey, ByRef value As Object) As Boolean
パラメーター
- key
- EntityKey
検索するオブジェクトのキー。
- value
- Object
このメソッドから制御が戻った時点で、オブジェクトが格納されます。
戻り値
オブジェクトが正常に取得された場合は true
。
key
が一時的である場合、接続が false
である場合、または value
が null
である場合は null
。
例外
key
の互換性のないメタデータ。
key
が null
です。
例
この例では、 EntityKey 指定した型のエンティティの を作成し、キーでエンティティの取得を試みます。
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
Object entity = null;
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.
if (context.TryGetObjectByKey(key, out entity))
{
Console.WriteLine("The requested " + entity.GetType().FullName +
" object was found");
}
else
{
Console.WriteLine("An object with this key " +
"could not be found.");
}
}
注釈
TryGetObjectByKey は、指定された EntityKey を持つオブジェクトを ObjectStateManager から取得しようとします。 オブジェクトが現在オブジェクト コンテキストに読み込まれていない場合は、データ ソースからオブジェクトを返すためにクエリが実行されます。 詳しくは、「オブジェクト クエリ」をご覧ください。
オブジェクトが見つからない場合に TryGetObjectByKey で発生する ObjectNotFoundException の処理を避けるには、GetObjectByKey メソッドを使用します。
このメソッドは、Deleted 状態のオブジェクトを返します。
一時キーを使用してデータ ソースからオブジェクトを取得することはできません。
メソッドはTryGetObjectByKey、 メソッドに標準の .NET TryParse
パターンをGetObjectByKey適用し、 がキャッチされたときに ObjectNotFoundException をfalse
返します。
適用対象
こちらもご覧ください
.NET