Freigeben über


ObjectContext.TryGetObjectByKey(EntityKey, Object) Methode

Definition

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

public:
 bool TryGetObjectByKey(System::Data::EntityKey ^ key, [Runtime::InteropServices::Out] System::Object ^ % value);
public bool TryGetObjectByKey (System.Data.EntityKey key, out object value);
member this.TryGetObjectByKey : System.Data.EntityKey * obj -> bool
Public Function TryGetObjectByKey (key As EntityKey, ByRef value As Object) As Boolean

Parameter

key
EntityKey

Der Schlüssel des zu suchenden Objekts.

value
Object

Enthält das Objekt, wenn diese Methode erfolgreich beendet wurde.

Gibt zurück

true, wenn das Objekt erfolgreich abgerufen wurde. false, wenn der key temporär ist, wenn die Verbindung null ist oder wenn valuenull ist.

Ausnahmen

Nicht kompatible Metadaten für key.

key ist null.

Beispiele

In diesem Beispiel wird ein EntityKey für eine Entität des angegebenen Typs erstellt und dann versucht, eine Entität nach Schlüssel abzurufen.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    Object entity = null;
    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.
    if (context.TryGetObjectByKey(key, out entity))
    {
        Console.WriteLine("The requested " + entity.GetType().FullName +
            " object was found");
    }
    else
    {
        Console.WriteLine("An object with this key " +
            "could not be found.");
    }
}

Hinweise

TryGetObjectByKey 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.

Verwenden Sie die TryGetObjectByKey-Methode, um die Behandlung der ObjectNotFoundException zu vermeiden, die vom GetObjectByKey ausgelöst wird, wenn das Objekt nicht gefunden wurde.

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.

Die TryGetObjectByKey -Methode wendet das .NET-Standardmuster TryParse für die GetObjectByKey -Methode an und gibt zurück false , wenn der ObjectNotFoundException abgefangen wird.

Gilt für:

Weitere Informationen