ObjectContext.GetObjectByKey(EntityKey) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.