Compartilhar via


ObjectContext.TryGetObjectByKey(EntityKey, Object) Método

Definição

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

A chave do objeto a ser encontrado.

value
Object

Quando este método for retornado, ele conterá o objeto.

Retornos

true se o objeto tiver sido recuperado com êxito. false se o key for temporário, a conexão será null ou value será null.

Exceções

Metadados incompatíveis para key.

key é null.

Exemplos

Este exemplo cria um EntityKey para uma entidade do tipo fornecido e tenta recuperar uma entidade por chave.

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

Comentários

TryGetObjectByKey tenta recuperar um objeto que tem o especificado EntityKey do ObjectStateManager. Se o objeto não estiver carregado no contexto do objeto, uma consulta será executada na tentativa de retornar o objeto da fonte de dados. Para obter mais informações, confira Consultas de objeto.

Use o TryGetObjectByKey método para evitar o tratamento do ObjectNotFoundException gerado por GetObjectByKey quando o objeto não puder ser encontrado.

Esse método retornará objetos no Deleted estado .

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

O TryGetObjectByKey método aplica o padrão .NET TryParse padrão para o GetObjectByKey método , retornando false quando o ObjectNotFoundException é capturado.

Aplica-se a

Confira também