Inhoudsopgave:

Ondersteunt Entity Framework pessimistische vergrendeling?
Ondersteunt Entity Framework pessimistische vergrendeling?

Video: Ondersteunt Entity Framework pessimistische vergrendeling?

Video: Ondersteunt Entity Framework pessimistische vergrendeling?
Video: OSI Layer 4 Explained 2024, Mei
Anonim

Het andere alternatief is toevlucht nemen tot optimistisch vergrendelen . In het document staat dat EF doet geen ingebouwde pessimistisch gelijktijdigheid steun . Maar dit doet niet jou bedoelen kan heb ik niet pessimistische vergrendeling met EF. Dus jij KAN HEBBEN PESSIMISTISCHE VERGRENDELING MET EEF!

Trouwens, hoe handhaaft Entity Framework concurrency?

Entiteitskader ondersteunt optimistisch gelijktijdigheid standaard. EF bespaart een entiteit gegevens naar de database, ervan uitgaande dat dezelfde gegevens niet zijn gewijzigd sinds de entiteit werd geladen. Als het constateert dat de gegevens zijn gewijzigd, wordt er een uitzondering gegenereerd en moet u het conflict oplossen voordat u het opnieuw probeert op te slaan.

Bovendien, wat is de modus voor client-wins en store wins in gelijktijdigheid van het Entity Framework? In winkel wint / databank wint de gegevens van de server worden in uw entiteit voorwerpen. Klant wint is tegengesteld aan opgeslagen overwinningen , gegevens van de entiteit object wordt opgeslagen in de database. We moeten de "Refresh" -methode van de entiteitskader context en we moeten hiervoor de opsomming "RefreshMode" gebruiken.

Hoe gaat Entity Framework hierin om met concurrency-conflicten?

De algemene benadering voor het afhandelen van concurrency-conflicten is:

  1. Vang DbUpdateConcurrencyException tijdens SaveChanges.
  2. Gebruik DbUpdateConcurrencyException.
  3. Vernieuw de oorspronkelijke waarden van het gelijktijdigheidstoken om de huidige waarden in de database weer te geven.
  4. Probeer het proces opnieuw totdat er geen conflicten optreden.

Hoe gaat Web API om met gelijktijdigheid?

Hoe omgaan met gelijktijdigheid in ASP. NET Core Web-API . Maak een leeg project en werk de Startup-klasse bij om services en middleware voor MVC toe te voegen. Voeg een controller toe met GET en PUT om te demonstreren gelijktijdigheid . Stuur een GET-verzoek en observeer de ETag-header (met Postman).

Aanbevolen: