ObjectContext.GetObjectByKey(EntityKey) 메서드

정의

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

C#
public object GetObjectByKey (System.Data.EntityKey key);

매개 변수

key
EntityKey

찾을 개체의 키입니다.

반환

엔터티 형식의 인스턴스인 Object입니다.

예외

key 매개 변수가 null인 경우

ObjectStateManager 또는 데이터 원본에서 개체를 찾을 수 없는 경우

예제

이 예제에서는 지정된 형식의 엔터티에 대한 을 만든 EntityKey 다음 키로 엔터티를 가져옵니다.

C#
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 .

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

적용 대상

제품 버전
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

추가 정보