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 состоянии.

Временный ключ нельзя использовать для возврата объекта из источника данных.

Применяется к

См. также раздел