Freigeben über


ObjectContext.TryGetObjectByKey(EntityKey, Object) Methode

Definition

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

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

value
Object

Wenn diese Methode zurückgegeben wird, enthält sie das Objekt.

Gibt zurück

true wenn das Objekt erfolgreich abgerufen wurde. falsewenn dies key temporär ist, ist nulldie Verbindung , oder dies ist null.value

Ausnahmen

Inkompatible Metadaten für key.

key ist null.

Beispiele

In diesem Beispiel wird eine EntityKey Entität des angegebenen Typs erstellt und anschließend 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 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.

Verwenden Sie die TryGetObjectByKey Methode, um die Behandlung des ObjectNotFoundException ausgelösten GetObjectByKey Objekts zu vermeiden, wenn das Objekt nicht gefunden werden kann.

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.

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

Gilt für:

Weitere Informationen