ObjectContext.GetObjectByKey(EntityKey) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca obiekt, który ma określony klucz jednostki.
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
Parametry
- key
- EntityKey
Klucz obiektu do znalezienia.
Zwraca
Jest Object to wystąpienie typu jednostki.
Wyjątki
Parametr key
ma wartość null
.
Nie można odnaleźć obiektu w ObjectStateManager źródle danych lub .
Przykłady
W tym przykładzie tworzony jest obiekt EntityKey dla jednostki danego typu, a następnie pobiera jednostkę według klucza.
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());
}
}
Uwagi
GetObjectByKeypróbuje pobrać obiekt, który ma określony EntityKey obiekt z .ObjectStateManager Jeśli obiekt nie jest obecnie załadowany do kontekstu obiektu, zapytanie jest wykonywane w celu zwrócenia obiektu ze źródła danych. Aby uzyskać więcej informacji, zobacz Zapytania dotyczące obiektów.
GetObjectByKey zgłasza obiekt ObjectNotFoundException , gdy nie można odnaleźć obiektu. Aby uniknąć obsługi tego wyjątku, zamiast tego użyj TryGetObjectByKey metody .
Ta metoda zwróci obiekty w Deleted stanie .
Nie można użyć klucza tymczasowego do zwrócenia obiektu ze źródła danych.