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

Wystąpienie Object typu jednostki.

Wyjątki

Parametr key to null.

Obiekt nie został znaleziony w źródle ObjectStateManager danych lub w źródle danych.

Przykłady

W tym przykładzie zostanie utworzona jednostka EntityKey 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

GetObjectByKey próbuje pobrać obiekt, który ma określony EntityKey element z obiektu ObjectStateManager. Jeśli obiekt nie jest obecnie ł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 obiekt, ObjectNotFoundException gdy nie można odnaleźć obiektu. Aby uniknąć obsługi tego wyjątku TryGetObjectByKey , zamiast tego należy użyć 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ż