Turinys:

Kaip „Entity Framework“apdoroja lygiagretumą?
Kaip „Entity Framework“apdoroja lygiagretumą?

Video: Kaip „Entity Framework“apdoroja lygiagretumą?

Video: Kaip „Entity Framework“apdoroja lygiagretumą?
Video: Concurrency Check in EF Core 5 2024, Gegužė
Anonim

Esybės struktūra palaiko optimistą sutapimas pagal nutylėjimą. EF išsaugo an subjektas duomenis į duomenų bazę, darant prielaidą, kad tie patys duomenys nebuvo pakeisti nuo subjektas buvo pakrautas. Jei ji nustato, kad duomenys pasikeitė, tada išimtis yra mesti ir jūs turite išspręsti konfliktą prieš bandydami jį išsaugoti dar kartą.

Be to, kaip „Entity Framework“valdo lygiagretumą?

Bendras lygiagrečių konfliktų sprendimo būdas yra toks:

  1. Užfiksuokite DbUpdateConcurrencyException Išsaugodami pakeitimus.
  2. Naudokite DbUpdateConcurrencyException.
  3. Atnaujinkite pradines lygiagretumo prieigos rakto reikšmes, kad atspindėtų dabartines duomenų bazės reikšmes.
  4. Pakartokite procesą, kol neatsiras konfliktų.

Vėliau kyla klausimas, kaip žiniatinklio API apdoroja lygiagretumą? Kaip tvarkyti lygiagretumą ASP. NET Core Žiniatinklio API . Sukurkite tuščią projektą ir atnaujinkite paleisties klasę, kad pridėtumėte MVC paslaugas ir tarpinę programinę įrangą. Norėdami parodyti, pridėkite valdiklį su GET ir PUT sutapimas . Išsiųskite GET užklausą ir stebėkite ETag antraštę (naudodami „Postman“).

Vėliau kyla klausimas, kas yra kliento laimikių ir laimių parduotuvėje režimai, kai objektas yra vienodai suderintas?

Į parduotuvės laimi / duomenų bazė laimi duomenys iš serverio įkeliami į jūsų subjektas objektų. Klientas laimi yra priešinga saugomi laimėjimai , duomenys iš subjektas objektas įrašomas į duomenų bazę. Turime naudoti „Atnaujinimo“metodą subjekto struktūra kontekste ir tam turime naudoti „RefreshMode“sąrašą.

Ar „Entity Framework“palaiko pesimistinį užrakinimą?

Pesimistas lygiagretumas apima užrakinimas duomenų bazės įrašus, kad kiti vartotojai negalėtų jų pasiekti / pakeisti, kol spyna yra išleistas, panašiai kaip tada, kai du vartotojai bando atidaryti tą patį failą bendrame tinklo tinkle. Esybės struktūra Core numato Nr parama dėl pesimistas lygiagretumo kontrolė.

Rekomenduojamas: