Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 3308|Odpowiedź: 0

[Źródło] Wyjątek współbieżności EF DbUpdateConcurrencyException ponownie zwraca zapytania o wartość buforowaną

[Skopiuj link]
Opublikowano 01.11.2023 20:30:43 | | | |
Wymagania: Używaj optymistycznych blokad EF do kontroli współbieżności, jeśli napotkasz współbieżność, dodaj mechanizm powtórek, sprawdź, że dane ponownie zapytane po próbie są danymi EF buforowanymi, co skutkuje ciągłym zapisywaniem wyjątków.

Operacja bazy danych miała wpłynąć na 1 wiersz(y), ale faktycznie dotyczyła 0(-ów); dane mogły zostać zmodyfikowane lub usunięte od czasu ładowania obiektów. WidziećLogowanie do linku jest widoczne.dla informacji na temat zrozumienia i radzenia sobie z wyjątkami optymistycznych współbieżności.

Ta dyskusja doprowadziła do przemyśleń na temat EF 6.x i buforowania zapytań EF Core:Logowanie do linku jest widoczne.

Obsługa rozróżnienia Timestamp i Concurrency Check.
https://www.itsvse.com/thread-3616-1-1.html

Jak pokazano poniżej:



Skrypt SQL:

ASP.NET Kod backendowy Core 6:

Kod kontrolera:



Opcja 1 (zalecana)

używaćEntityState.DetachedOznaczając stan jednostki jako nieśledzony przez kontekst, zmodyfikuj go w następujący sposób:

Jak pokazano poniżej:



Opcja 2

Wystarczy wywołać metodę Reload(), aby odświeżyć obiekt entity, a kod wygląda następująco:

Chociaż przeładowywanie może również odświeżać wartości pamięci podręcznej EF,Skutkuje to wykonywaniem zapytań SQL więcej niż razDlatego nie jest to zalecane.

Pozostałe dwie metody, AsNoTracking, nie są odpowiednie, a druga nie jest testowana.

(Koniec)




Poprzedni:.NET konwertuje ciąg warbinaryjny bazy danych na tablicę bajt[]
Następny:Ustawienia OpenWRT, aby uruchomić polecenie wykonania
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com