ObjectContext.TryGetObjectByKey(EntityKey, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 value
null
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.