ObjectContext.GetObjectByKey(EntityKey) Método

Definição

Devolve um objeto que tem a chave de entidade 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

A chave do objeto a encontrar.

Devoluções

E Object isso é uma instância de um tipo de entidade.

Exceções

O key parâmetro é null.

O objeto não se encontra nem na ObjectStateManager fonte de dados.

Exemplos

Este exemplo cria um EntityKey para uma entidade do tipo dado e depois obtém uma entidade por chave.

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

Observações

GetObjectByKey tenta recuperar um objeto que tenha o especificado EntityKey a partir do ObjectStateManager. Se o objeto não estiver atualmente carregado no contexto do objeto, é executada uma consulta numa tentativa de devolver o objeto da fonte de dados. Para obter mais informações, consulte Consultas de Objetos.

GetObjectByKey levanta um ObjectNotFoundException quando o objeto não pode ser encontrado. Para evitar lidar com esta exceção, use antes o TryGetObjectByKey método.

Este método devolverá objetos no Deleted estado.

Uma chave temporária não pode ser usada para devolver um objeto da fonte de dados.

Aplica-se a

Ver também