Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 3308|Atbildi: 0

[Avots] EF vienlaicīguma izņēmums DbUpdateConcurrencyException atkārtoti vaicā kešatmiņā saglabāto vērtību

[Kopēt saiti]
Publicēts 01.11.2023 20:30:43 | | | |
Prasības: Izmantojiet EF optimistiskās slēdzenes, lai kontrolētu vienlaicīgumu, ja rodas vienlaicīgums, pievienojiet atkārtotas mēģināšanas mehānismu, konstatējiet, ka pēc atkārtota mēģinājuma atkārtoti vaicātie dati ir EF kešatmiņā saglabātie dati, kā rezultātā vienmēr tiek saglabāti izņēmumi.

Bija paredzēts, ka datu bāzes darbība ietekmēs 1 rindu(-as), bet faktiski ietekmēja 0 rindu(-as); Dati var būt modificēti vai izdzēsti, kopš entītiju ielādes. RedzētHipersaites pieteikšanās ir redzama.lai iegūtu informāciju par optimistisku vienlaicīgu izņēmumu izpratni un apstrādi.

Šīs diskusijas rezultātā radās domas par EF 6.x un EF Core vaicājumu kešatmiņu:Hipersaites pieteikšanās ir redzama.

Vienlaicīga laika zīmoga un vienlaicīgas pārbaudes atšķirības apstrāde
https://www.itsvse.com/thread-3616-1-1.html

Kā parādīts zemāk:



SQL skripts:

ASP.NET Core 6 aizmugures kods:

Kontroliera kods:



1. variants (ieteicams)

lietotEntityState.AtdalītsAtzīmējot entītijas stāvokli kā tādu, kas netiek izsekots kontekstā, modificējiet to šādi:

Kā parādīts zemāk:



2. variants

Izsauciet metodi Reload(), lai atsvaidzinātu entītijas objektu, kods ir šāds:

Lai gan atkārtota ielāde var arī atsvaidzināt EF kešatmiņas vērtības,Tā rezultātā SQL vaicājumi tiek izpildīti vairāk nekā vienu reiziTāpēc tas nav ieteicams.

Pārējās divas metodes, AsNoTracking nav piemērotas, un otra nav pārbaudīta.

(Beigas)




Iepriekšējo:.NET pārvērš datu bāzes varbināro virkni par baitu[] masīvu
Nākamo:OpenWRT iestatījumi, lai palaistu izpildes komandu
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com