Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3308|Odgovoriti: 0

[Vir] EF sočasna izjema DbUpdateConcurrencyIzjema ponovno povprašuje shranjeno vrednost

[Kopiraj povezavo]
Objavljeno na 1. 11. 2023 20:30:43 | | | |
Zahteve: Uporabite EF optimistične ključavnice za nadzor sočasnosti, če naletite na sočasnost, dodajte mehanizem ponovnega poskusa, ugotovite, da so podatki, ki se ponovno poizvedujejo po ponovnem poskusu, EF predpomnjeni podatki, kar vedno shranjuje izjeme.

Operacija baze podatkov naj bi vplivala na eno vrstico, vendar je dejansko vplivala na 0 vrstic; Podatki so morda bili spremenjeni ali izbrisani od nalaganja entitet. VidetiPrijava do hiperpovezave je vidna.za informacije o razumevanju in ravnanju z izjemami optimistične sočasnosti.

Ta razprava je pripeljala do razmišljanja o EF 6.x in EF Core predpomnjenju poizvedb:Prijava do hiperpovezave je vidna.

Obravnava razlik med sočasnim časovnim žigom in ConcurrencyCheck
https://www.itsvse.com/thread-3616-1-1.html

Kot je prikazano spodaj:



SQL skripta:

ASP.NET Core 6 backend koda:

Koda krmilnika:



Možnost 1 (priporočena)

uporabitiEntitetState.DetachedČe označimo stanje entitete kot nesledeno s strani konteksta, ga spremenite na naslednji način:

Kot je prikazano spodaj:



Možnost 2

Pokličite metodo Reload() za osvežitev entity objekta, koda je naslednja:

Čeprav lahko ponovno nalaganje osveži tudi EF vrednosti predpomnilnika,To povzroči, da se SQL poizvedbe izvajajo večkratZato tega ne priporočamo.

Drugi dve metodi, AsNoTracking, nista primerni, druga pa ni testirana.

(Konec)




Prejšnji:.NET pretvori varbinarni niz baze podatkov v polje bajtov[]
Naslednji:Nastavitve OpenWRT za zagon ukaza za izvajanje
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com