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 개체를 성공적으로 검색한 경우 false일시 key 적이면 연결이 되거나 valuenullnull.

예외

에 대한 key호환되지 않는 메타데이터

keynull입니다.

예제

이 예제에서는 지정된 형식의 엔터티를 만든 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 에서 지정된 EntityKeyObjectStateManager개체를 검색하려고 합니다. 개체가 현재 개체 컨텍스트에 로드되지 않은 경우 데이터 원본에서 개체를 반환하기 위해 쿼리가 실행됩니다.

개체를 TryGetObjectByKey 찾을 수 없는 경우 발생 GetObjectByKey 하는 ObjectNotFoundException 처리를 방지 하려면 메서드를 사용 합니다.

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

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

TryGetObjectByKey 메서드는 GetObjectByKey 메서드에 표준 .NET TryParse 패턴을 적용하고 ObjectNotFoundException catch되면 false 반환합니다.

적용 대상

추가 정보