Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 3308|Svar: 0

[Kilde] EF concurrency exception DbUpdateConcurrencyException forespørger den cachede værdi

[Kopier link]
Opslået på 01/11/2023 20.30.43 | | | |
Krav: Brug EF-optimistiske låse til at kontrollere samtidighed, hvis du støder på samtidighed, tilføj en genforsøgsmekanisme, og find ud af, at de data, der genforespørges efter forsøget, er EF-cachede data, hvilket resulterer i altid gemte undtagelser.

Databaseoperationen forventedes at påvirke 1 række(r), men påvirkede faktisk 0 række(r); Data kan være blevet ændret eller slettet, siden enheder blev indlæst. SeHyperlink-login er synlig.For information om forståelse og håndtering af optimistiske samtidighedsundtagelser.

Denne diskussion førte til tanker om EF 6.x og EF Core query caching:Hyperlink-login er synlig.

Håndtering af samtidig tidsstempel- og ConcurrencyCheck-skel
https://www.itsvse.com/thread-3616-1-1.html

Som vist nedenfor:



SQL-script:

ASP.NET Core 6 backend-kode:

Controller-kode:



Mulighed 1 (anbefales)

brugEntityState.DetachedVed at markere entitetens tilstand som ikke sporet af konteksten, modificerer du den som følger:

Som vist nedenfor:



Mulighed 2

Kald Reload()-metoden for at opdatere entitetsobjektet, koden er som følger:

Selvom genindlæsning også kan opdatere EF-cacheværdier,Dette resulterer i, at SQL-forespørgsler udføres mere end én gangDerfor anbefales det ikke.

De to andre metoder, AsNoTracking, er ikke egnede, og den anden er ikke testet.

(Slut)




Tidligere:.NET konverterer databasens varbinary-streng til et byte[]-array
Næste:OpenWRT-indstillinger til at starte eksekveringskommandoen op
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com