Freigeben über


ObjectContext.GetObjectByKey(EntityKey) Methode

Definition

Gibt ein Objekt zurück, das den angegebenen Entitätsschlüssel aufweist.

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

Parameter

key
EntityKey

Der Schlüssel des zu findenden Objekts.

Gibt zurück

Eine Object Instanz eines Entitätstyps.

Ausnahmen

Der key Parameter ist null.

Das Objekt wird weder in der ObjectStateManager Datenquelle noch in der Datenquelle gefunden.

Beispiele

In diesem Beispiel wird eine EntityKey Entität des angegebenen Typs erstellt und anschließend eine Entität nach Schlüssel abgerufen.

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());
    }
}

Hinweise

GetObjectByKey versucht, ein Objekt abzurufen, das das angegebene EntityKey Objekt aus dem ObjectStateManager. Wenn das Objekt derzeit nicht in den Objektkontext geladen wird, wird eine Abfrage in einem Versuch ausgeführt, das Objekt aus der Datenquelle zurückzugeben.

GetObjectByKey löst ein ObjectNotFoundException , wenn das Objekt nicht gefunden werden kann. Um diese Ausnahme zu vermeiden, verwenden Sie stattdessen die TryGetObjectByKey Methode.

Diese Methode gibt Objekte im Deleted Zustand zurück.

Ein temporärer Schlüssel kann nicht verwendet werden, um ein Objekt aus der Datenquelle zurückzugeben.

Gilt für:

Weitere Informationen