Ich versuche, eine Entität an den ObjectContext anzuhängen. Wenn ich dies tun, wird die folgende InvalidOperationException ausgelöst:Kann keine getrennte Entität anhängen: "Ein Objekt mit demselben Schlüssel ist bereits im ObjectStateManager vorhanden"
An object with the same key already exists in the ObjectStateManager.
The ObjectStateManager cannot track multiple objects with the same key.
ich im Objektstatus-Manager überprüft und der Artikel existiert nicht:
//Data context is actually the object context.
ObjectStateEntry contact;
while (//Should only work once since it should be true if the item was attached
!DataContext.ObjectStateManager.
TryGetObjectStateEntry(Contact, out contact)
)
DataContext.Attach(Contact); //Here is the exception thrown.
Oder in diesem abstrakten Beispiel aussehen und mir sagen, ob es macht Sinn:
EntityState state = Contact.EntityState; //Detached
DataContext.Attach(Contact); //Throws the exception.
DataContext.AttachTo("Entities.Contacts", Contact); //Throws the Exception
var detached = DataContext.ObjectStateManager.
GetObjectStateEntries(EntityState.Detached);
//InvalidArgumentException - detached entities cannot be in the obj state mgr
Antworten in VB sind auch willkommen.
Im Angesicht eines ähnlichen Problems, können Sie ein Beispiel geben, wie würden Sie das gesamte Objektdiagramm betrachten, das Sie an den Kontext anhängen und prüfen, ob Objekte mit doppelten Schlüsseln darin enthalten sind? – Eduard