See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 3308|Vastuse: 0

[Allikas] EF samaaegsuse erik DbUpdateConcurrencyException pärib vahemällu salvestatud väärtuse uuesti

[Kopeeri link]
Postitatud 01.11.2023 20:30:43 | | | |
Nõuded: Kasuta EF optimistlikke lukke samaaegsuse kontrollimiseks, kui kohtad samaaegsust, lisa uuesti proovimise mehhanism, leia, et pärast proovimist uuesti päritud andmed on EF-vahemällu salvestatud andmed, mis tagab alati erandite salvestamise.

Andmebaasi operatsioon pidi mõjutama 1 rida, kuid tegelikult mõjutas see 0 rida; andmeid võidi muuta või kustutada alates entiteetide laadimisest. NägemaHüperlingi sisselogimine on nähtav.teabe saamiseks optimistlike samaaegsete erandite mõistmise ja käsitlemise kohta.

See arutelu viis mõteteni EF 6.x ja EF Core päringute vahemällu salvestamise kohta:Hüperlingi sisselogimine on nähtav.

Samaaegse ajatempli ja samaaegse kontrolli eristuste käsitlemine
https://www.itsvse.com/thread-3616-1-1.html

Nagu allpool näidatud:



SQL skript:

ASP.NET Core 6 taustakood:

Kontrolleri kood:



Variant 1 (soovitatav)

kasutamaEntityState.DetachedMärgistades üksuse oleku kontekstis jälgitamata, muuda seda järgmiselt:

Nagu allpool näidatud:



Variant 2

Kutsu Reload() meetod entiteedi objekti värskendamiseks, kood on järgmine:

Kuigi taaslaadimine võib värskendada ka EF-vahemälu väärtusi,See põhjustab SQL-päringute täitmise rohkem kui ühe korraSeetõttu seda ei soovitata.

Teised kaks meetodit, AsNoTracking, ei sobi ja teine ei ole testitud.

(Lõpp)




Eelmine:.NET teisendab andmebaasi varbinaarse stringi baidi[] massiiviks
Järgmine:OpenWRT seaded, et käivitada täitmiskäsk
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com