Freigeben über


ObjectContext.GetObjectByKey(EntityKey) Methode

Definition

Gibt ein Objekt mit dem angegebenen Entitätsschlüssel zurück.

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 suchenden Objekts.

Gibt zurück

Ein Object, bei dem es sich um die Instanz eines Entitätstyps handelt.

Ausnahmen

Der key-Parameter ist null.

Das Objekt wurde weder im ObjectStateManager noch in der Datenquelle gefunden.

Beispiele

In diesem Beispiel wird ein EntityKey für eine Entität des angegebenen Typs erstellt und dann 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 mit dem angegebenen EntityKey vom ObjectStateManager abzurufen. Wenn das Objekt derzeit nicht in den Objektkontext geladen wird, wird eine Abfrage ausgeführt, um das Objekt aus der Datenquelle zurückzugeben. Weitere Informationen finden Sie unter Objektabfragen.

GetObjectByKey löst eine ObjectNotFoundException aus, wenn das Objekt nicht gefunden wird. Um die Behandlung dieser Ausnahme zu vermeiden, können Sie stattdessen die TryGetObjectByKey-Methode verwenden.

Diese Methode gibt Objekte im Deleted-Status zurück.

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

Gilt für:

Weitere Informationen