Udostępnij za pośrednictwem


ObjectContext.GetObjectByKey(EntityKey) Metoda

Definicja

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.

Dotyczy

Zobacz też