mam podmiot User
z kilkoma one-to-one
i many-to-many
stosunków i Identity primary key
i generic repository
który stworzył na każde żądanie.Struktura encji Wykryto sprzeczne zmiany. Może się to zdarzyć, gdy próbuje wstawić wiele podmiotów z tego samego klucza
Mam formularz rejestracyjny z weryfikacją klienta i serwera i postanowiłem wyłączyć sprawdzanie klienta, aby sprawdzić, jak zachowałby się serwer w takim przypadku.
Wyłączyłem walidacji klienta, aby przetestować formularz rejestracyjny i umieścić kilka nieprawidłowych wartości więc wrócić formę mówiąc, że mam kilka błędów, po tym jak ustalona, że mam bardzo ciekawy błąd mówiąc:
_context.SaveChanges(); //towing the error below:
Conflicting changes detected. This may happen when trying to insert multiple entities with the same key
to było dziwne dla mnie, bo indywidualny podmiot User
ale kiedy znalazłem ten How to clean-up an Entity Framework object context? więc zamiast odłączania tylko User
podmiot postanowiłem spróbować oczyścić kontekstu obiektu całkowicie uruchomiony ten kod:
var objectStateEntries = this.objectContext
.ObjectStateManager
.GetObjectStateEntries(EntityState.Added);
foreach (var objectStateEntry in objectStateEntries)
{
if(objectStateEntry.Entity != null)
this.objectContext.Detach(objectStateEntry.Entity);
}
Więc po tym wszystkim działa dobrze, a ja nie dostaję błędu Conflicting changes detected
, ale nadal zastanawiam się, dlaczego taka sytuacja miała miejsce, może ktoś może wyjaśnić?
pokazać, jak jesteś z włożeniem 'użytkownik portu – haim770