ObjectContext.GetObjectByKey(EntityKey) 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:
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 ser encontrado.
Retornos
Um Object que é uma instância de um tipo de entidade.
Exceções
O parâmetro key
é null
.
O objeto não foi encontrado no ObjectStateManager ou na fonte de dados.
Exemplos
Este exemplo cria um EntityKey para uma entidade do tipo especificado e, em seguida, busca 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());
}
}
Comentários
GetObjectByKey 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.
GetObjectByKey gera um ObjectNotFoundException quando o objeto não pode ser encontrado. Para evitar lidar com essa exceção, use o TryGetObjectByKey método .
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.