Compartir a través de


ObjectContext.GetObjectByKey(EntityKey) Método

Definición

Devuelve un objeto que tiene la clave de entidad especificada.

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

Parámetros

key
EntityKey

Clave del objeto que se desea encontrar.

Devoluciones

Un Object que es una instancia de un tipo de entidad.

Excepciones

El parámetro key es null.

El objeto no se encuentra en ObjectStateManager ni en el origen de datos.

Ejemplos

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

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());
    }
}

Comentarios

GetObjectByKey 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.

GetObjectByKey inicia una ObjectNotFoundException cuando no se puede encontrar el objeto. Para no tener que controlar esta excepción, use en su lugar el método TryGetObjectByKey.

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.

Se aplica a

Consulte también