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

GetObjectByKey 는 개체를 ObjectNotFoundException 찾을 수 없을 때 발생합니다. 이 예외를 처리하지 않도록 하려면 대신 메서드를 TryGetObjectByKey 사용합니다.

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

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

적용 대상

추가 정보