Ich versuche, einige Änderungen mit der Reload-Funktion zu verwerfen. Ich bekomme eine InvalidOperationException
. Wie kann ich das verhindern?Entity Framework 5 InvalidOperationException beim Reload
DbContext.SaveChanges();
//Entity is in Unchanged state
//Make some changes to an entity
//Change state to modified
DbContext.Entry(entity).Reload();
InvalidOperationException
EntityMemberChanged oder EntityComplexMemberChanged ohne erste Aufruf EntityMemberChanging oder EntityComplexMemberChanging auf die gleiche Änderung Tracker mit der gleichen Eigenschaft Name aufgerufen wurde. Informationen zur ordnungsgemäßen Meldung von Änderungen finden Sie in der Dokumentation des Entity Framework .
EDIT:
Ich habe aktiviert und deaktiviert ProxyCreationEnabled
, LazyLoadingEnabled
.
Versuchte verschiedene Ansätze. Alle diese Versuche werfen die gleiche Ausnahme.
var objContext = ((IObjectContextAdapter)context).ObjectContext;
objContext.Refresh(RefreshMode.ClientWins, entry.Entity);
entry.OriginalValues.SetValues(entry.GetDatabaseValues());
hoffe, dass ich eine Lösung. Möchten Sie nicht den gesamten DbContext ablegen, um alle Daten neu zu laden.
Würde einer dieser Punkte helfen? http://stackoverflow.com/questions/5221314/refresh-entity-instance-with-dbcontext oder das http://stackoverflow.com/questions/5799737/entity-framework-4-1-dbset-reload oder dieses http: //connect.microsoft.com/VisualStudio/feedback/details/694567/entitymemberchangeed-or-entitycomplexmemberchanged-was- genannt- ohne- first- calling- entitymemberchanging-or-henitycomplexmemberchanging-on-the-same-change-tracker-with- der-selbe-Eigenschaft-Name ?? – LiverpoolsNumber9
Dies hat vielleicht nichts mit Ihrer Situation zu tun, aber wollte überprüfen .. Machen Sie irgendeine Art von Multithreading/Async in Ihrem Programm? Wie mit jedem PLINQ oder 4.5 async/warten? – tostringtheory
@tostringtheory Bereits überprüft, ohne Threading. Gleiches Problem. –