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 jest null.
Nie można odnaleźć obiektu w ObjectStateManager źródle danych lub .
Przykłady
W tym przykładzie zostanie utworzona EntityKey jednostka dla danego typu, a następnie pobierze 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 element z .ObjectStateManager Jeśli obiekt nie jest obecnie załadowany do kontekstu obiektu, zapytanie jest wykonywane podczas próby zwrócenia obiektu ze źródła danych. Aby uzyskać więcej informacji, zobacz Zapytania dotyczące obiektów.
GetObjectByKey zgłasza błąd 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.