EF dodaje jednostkę typu "XXXX", która nie ulega, ponieważ inna jednostka tego samego typu ma już tę samą wartość klucza głównego. Przy użyciu metody "Przyczep" lub ustawianiu stanu jednostki na "Niezmieniony" lub "Zmodyfikowany"
Ponieważ inne podmioty tego samego typu mają już tę samą wartość klucza głównego. Takie zachowanie może wystąpić przy użyciu metody "Przyczep" lub przy ustawianiu statusu jednostki na "Niezmieniony" lub "Zmodyfikowany", jeśli jakaś jednostka w rysunku ma sprzeczną wartość klucza Może to wynikać z faktu, że niektóre podmioty są nowe i nie otrzymały jeszcze wygenerowanej wartości klucza (nowej jednostki), w takim przypadku wykres jest śledzony metodą "Dodaj" lub stanem "Dodany", a następnie stan nienowej jednostki jest odpowiednio ustawiany na "Niezmieniony" lub "Zmodyfikowany". W rzeczywistości ten błąd polega na tym, że gdy EF otwiera transakcję, dane z tym samym kluczem głównym są już dostępne w kontekście EF, i osobiście napotykam ten problem w różnych sytuacjach:
Sytuacja 1:
Modyfikując i iterując te same dane w tabeli (np. iterując ilość zapasów tego samego elementu), ten przypadek powinien być pierwszym przypadkiem, gdy bufor kontekstowy nie jest czyszczony
Kod jest następujący:
Pętla tutaj nie zgłasza błędu za pierwszym razem, a za drugim będzie błędem
Rozwiązanie:
Sytuacja 2:
Operacja pętli najpierw dodaje fragment danych, a następnie modyfikuje dane
Kod jest następujący:
Błędy są również zgłaszane tutaj, zwłaszcza dla nowych EF lub nowych podmiotów
Rozwiązanie:
|