ObjectContext.TryGetObjectByKey(EntityKey, Object) 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:
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
Clave del objeto que se desea encontrar.
- value
- Object
Cuando vuelve este método, contiene el objeto.
Devoluciones
Es true
si el objeto se recuperó correctamente. Es false
si key
es temporal, la conexión es null
o value
es null
.
Excepciones
Metadatos incompatibles para key
.
key
es null
.
Ejemplos
En este ejemplo se crea un EntityKey para una entidad del tipo especificado y, a continuación, se intenta recuperar una entidad por clave.
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.");
}
}
Comentarios
TryGetObjectByKey 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.
Use el método TryGetObjectByKey para no tener que controlar la excepción ObjectNotFoundException producida por GetObjectByKey cuando no se puede encontrar el objeto.
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.
El TryGetObjectByKey método aplica el patrón estándar de .NET TryParse
para el GetObjectByKey método y devuelve false
cuando se detecta .ObjectNotFoundException