Поделиться через


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 является временным, подключение равно значению null или объект value равен значению null.

Исключения

Несовместимые метаданные для key.

key имеет значение null.

Примеры

В этом примере создается 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 пытается получить объект с указанным ключом EntityKey из диспетчера ObjectStateManager. Если объект в данный момент не загружен в контекст объекта, запрос выполняется при попытке вернуть объект из источника данных. Дополнительные сведения см. в разделе Запросы объектов.

Используйте метод TryGetObjectByKey, чтобы избежать обработки исключения ObjectNotFoundException, вызванного методом GetObjectByKey, когда объект невозможно найти.

Этот метод будет возвращать объекты в состоянии Deleted.

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

Метод TryGetObjectByKey применяет стандартный шаблон .NET TryParse для GetObjectByKey метода , возвращая false при перехвате ObjectNotFoundException .

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

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