ObjectContext.TryGetObjectByKey(EntityKey, Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.