INHOUDSOPGAWE:

Hoe hanteer Entiteitsraamwerk gelyktydigheid?
Hoe hanteer Entiteitsraamwerk gelyktydigheid?

Video: Hoe hanteer Entiteitsraamwerk gelyktydigheid?

Video: Hoe hanteer Entiteitsraamwerk gelyktydigheid?
Video: Concurrency Check in EF Core 5 2024, November
Anonim

Entiteitsraamwerk ondersteun optimisties sameloop by verstek. EF red 'n entiteit data na die databasis, met die veronderstelling dat dieselfde data nie verander is sedert die entiteit gelaai is. As dit vind dat die data verander het, dan 'n uitsondering is gegooi en jy moet die konflik oplos voordat jy dit weer probeer red.

Benewens dit, hoe bestuur Entiteitsraamwerk gelyktydigheid?

Die algemene benadering om 'n gelyktydige konflik te hanteer is:

  1. Vang DbUpdateConcurrencyException tydens SaveChanges.
  2. Gebruik DbUpdateConcurrencyException.
  3. Verfris die oorspronklike waardes van die gelyktydige teken om die huidige waardes in die databasis te weerspieël.
  4. Herprobeer die proses totdat geen konflikte voorkom nie.

Die vraag is vervolgens, hoe hanteer Web API gelyktydigheid? Hoe om gelyktydig hanteer in ASP. NET Core Web API . Skep 'n leë projek en werk die Startup-klas op om dienste en middelware vir MVC by te voeg. Voeg 'n kontroleerder met GET en PUT by om te demonstreer sameloop . Stuur 'n AOO-versoek en let op die ETag-opskrif (met Postman).

Gevolglik is die vraag, wat is kliëntwen- en winkelwen-modus in Entiteitsraamwerk-sameloop?

In winkel wen / databasis wen die data vanaf die bediener word in jou gelaai entiteit voorwerpe. Kliënt wen teenoorgestelde is gestoor oorwinnings , data van die entiteit voorwerp word in die databasis gestoor. Ons moet die "Refresh" metode van die gebruik entiteitsraamwerk konteks en ons moet die "RefreshMode"-enum daarvoor gebruik.

Ondersteun Entiteitsraamwerk pessimistiese sluiting?

Pessimisties sameloop behels sluit databasisrekords om te verhoed dat ander gebruikers toegang daartoe kan verkry/verander totdat die slot is vrygestel, baie soos wanneer twee gebruikers probeer om dieselfde lêer op 'n netwerkdeel oop te maak. Entiteitsraamwerk Kern verskaf nr ondersteun vir pessimisties gelyktydig beheer.

Aanbeveel: