Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 3308|Svare: 0

[Kilde] EF samtidighetsunntak DbUpdateConcurrencyException spør den bufrede verdien

[Kopier lenke]
Publisert på 01.11.2023 20:30:43 | | | |
Krav: Bruk EF-optimistiske låser for å kontrollere samtidighet, hvis du møter samtidighet, legg til en retry-mekanisme, og finn at dataene som spørres på nytt etter reprøven er EF-cachet data, noe som resulterer i alltid lagrede unntak.

Databaseoperasjonen var forventet å påvirke 1 rad(er), men påvirket faktisk 0 rad(er); Data kan ha blitt endret eller slettet siden enheter ble lastet inn. SeInnloggingen med hyperkoblingen er synlig.For informasjon om forståelse og håndtering av optimistiske samtidige unntak.

Denne diskusjonen førte til tanker om EF 6.x og EF Core spørringscaching:Innloggingen med hyperkoblingen er synlig.

Håndtering av distinksjon mellom samtidige tidsstempel og samtidighetssjekk
https://www.itsvse.com/thread-3616-1-1.html

Som vist nedenfor:



SQL-skript:

ASP.NET Core 6 backend-kode:

Kontrollerkode:



Alternativ 1 (anbefalt)

brukEntityState.DetachedVed å markere entitetstilstanden som ikke sporet av konteksten, modifiser du den slik:

Som vist nedenfor:



Alternativ 2

Kall Reload()-metoden for å oppdatere entitetsobjektet, koden er som følger:

Selv om reload også kan oppdatere EF-cache-verdier,Dette resulterer i at SQL-spørringer kjøres flere gangerDerfor anbefales det ikke.

De to andre metodene, AsNoTracking, er ikke egnet, og den andre er ikke testet.

(Slutt)




Foregående:.NET konverterer databasens varbinære streng til et byte[]-array
Neste:OpenWRT-innstillinger for å starte opp utførelseskommandoen
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com