Compartir a través de


ObjectContext.TryGetObjectByKey(EntityKey, Object) Método

Definición

Devuelve un objeto que tiene la clave de entidad especificada.

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

Parámetros

key
EntityKey

Clave del objeto que se desea encontrar.

value
Object

Cuando vuelve este método, contiene el objeto.

Devoluciones

Es true si el objeto se recuperó correctamente. Es false si key es temporal, la conexión es null o value es null.

Excepciones

Metadatos incompatibles para key.

key es null.

Ejemplos

En este ejemplo se crea un EntityKey para una entidad del tipo especificado y, a continuación, se intenta recuperar una entidad por clave.

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.");
    }
}

Comentarios

TryGetObjectByKey intenta recuperar un objeto que tiene la EntityKey especificada en el ObjectStateManager. Si el objeto no está cargado actualmente en el contexto del objeto, se ejecuta una consulta para intentar devolver el objeto desde el origen de datos. Para más información, consulte Consultas de objeto.

Use el método TryGetObjectByKey para no tener que controlar la excepción ObjectNotFoundException producida por GetObjectByKey cuando no se puede encontrar el objeto.

Este método devolverá objetos con el estado Deleted.

No se puede usar una clave temporal para devolver un objeto desde el origen de datos.

El TryGetObjectByKey método aplica el patrón estándar de .NET TryParse para el GetObjectByKey método y devuelve false cuando se detecta .ObjectNotFoundException

Se aplica a

Consulte también