Kann in Entity Framework überprüft werden, ob ein Objekt bereits an einen Datenkontext angehängt ist?

Ich erhalte die folgende Fehlermeldung, wenn ich versuche, ein Objekt anzuhängen, das bereits über an einen bestimmten Kontext angehängt istcontext.AttachTo(...):

Im ObjectStateManager ist bereits ein Objekt mit demselben Schlüssel vorhanden. Der ObjectStateManager kann nicht mehrere Objekte mit demselben Schlüssel verfolgen.

Gibt es eine Möglichkeit, etwas in der Art zu erreichen:

context.IsAttachedTo(...)

Prost!

Bearbeiten:

Die von Jason beschriebene Erweiterungsmethode ist eng, funktioniert aber in meiner Situation nicht.

Ich versuche, mit der in der Antwort auf eine andere Frage beschriebenen Methode zu arbeiten:

Wie lösche ich eine oder mehrere Zeilen aus meiner Tabelle mit Linq to Entities *, ohne * zuerst die Zeilen abzurufen?

Mein Code sieht ungefähr so ​​aus:

var user = new User() { Id = 1 };
context.AttachTo("Users", user);
comment.User = user;
context.SaveChanges();

Dies funktioniert einwandfrei, es sei denn, ich tue etwas anderes für diesen Benutzer, wobei ich die gleiche Methode verwende und versuche, einen Dummy anzuhängenUser Objekt. Dies schlägt fehl, weil ich dieses Dummy-Benutzerobjekt zuvor angehängt habe. Wie kann ich das überprüfen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage