다음을 통해 공유


ObjectContext.TryGetObjectByKey(EntityKey, Object) 메서드

정의

지정된 엔터티 키가 있는 개체를 반환합니다.

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이거나 valuenull이면 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 찾을 수 없을 때 에서 발생한 GetObjectByKeyObjectNotFoundException 처리하지 않도록 하려면 메서드를 사용합니다.

이 메서드는 상태의 개체를 반환합니다 Deleted .

임시 키를 사용하여 데이터 원본에서 개체를 반환할 수 없습니다.

메서드는 TryGetObjectByKey 메서드에 대한 GetObjectByKey 표준 .NET TryParse 패턴을 적용하고 가 catch되면 를 반환합니다 ObjectNotFoundExceptionfalse.

적용 대상

추가 정보