다음을 통해 공유


ObjectContext.GetObjectByKey(EntityKey) 메서드

정의

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

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 .

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

적용 대상

추가 정보