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 va a encontrar.

value
Object

Cuando este método devuelve , contiene el objeto .

Devoluciones

true si el objeto se recuperó correctamente. false key si es temporal, la conexión es nullo 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

TryGetObjectByKeyintenta recuperar un objeto que tiene especificado EntityKey de .ObjectStateManager Si el objeto no se carga actualmente en el contexto del objeto, se ejecuta una consulta en un intento de devolver el objeto desde el origen de datos.

Utilice el TryGetObjectByKey método para evitar controlar el ObjectNotFoundException generado por GetObjectByKey cuando no se encuentra el objeto.

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

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

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

Se aplica a

Consulte también