Mundarija:

Entity Framework pessimistik qulflashni qo'llab-quvvatlaydimi?
Entity Framework pessimistik qulflashni qo'llab-quvvatlaydimi?

Video: Entity Framework pessimistik qulflashni qo'llab-quvvatlaydimi?

Video: Entity Framework pessimistik qulflashni qo'llab-quvvatlaydimi?
Video: Concurrency in ASP.NET Core | Optimistic | Pessimistic | C# 2024, May
Anonim

Boshqa muqobil hisoblanadi optimistga murojaat qilish qulflash . Hujjatda aytilishicha, EF qiladi o'rnatilgani yo'q pessimistik parallellik qo'llab-quvvatlash . Lekin bu qiladi sizni nazarda tutmaydi mumkin yo'q pessimistik qulflash EF bilan. Demak SIZ JON EGA PESSIMIST QILMA EF BILAN!

Bundan tashqari, Entity Framework qanday qilib parallellikni saqlaydi?

Entity Framework optimistni qo'llab-quvvatlaydi parallellik avvalboshdan. EF saqlaydi tashkilot ma'lumotlar bazasiga, agar bir xil ma'lumotlar o'zgartirilmagan deb hisoblasa tashkilot yuklangan edi. Agar ma'lumotlar o'zgarganligini aniqlasa, istisno qilinadi va siz uni qayta saqlashga urinishdan oldin nizoni hal qilishingiz kerak.

Bundan tashqari, Entity Framework bir vaqtning o'zida mijoz yutadi va do'konda g'alaba qozonish rejimi nima? In do'kon g'alaba qozonadi / ma'lumotlar bazasi g'alaba qozonadi serverdagi ma'lumotlar sizning kompyuteringizga yuklanadi tashkilot ob'ektlar. Mijoz g'alaba qozonadi ga qarama-qarshidir saqlangan g'alabalar dan olingan ma'lumotlar tashkilot ob'ekt ma'lumotlar bazasiga saqlanadi. ning "yangilash" usulidan foydalanishimiz kerak ob'ekt doirasi kontekst va biz buning uchun "RefreshMode" enumidan foydalanishimiz kerak.

Bu erda, Entity Framework parallellik ziddiyatlarini qanday hal qiladi?

Bir vaqtning o'zida mojarolarni hal qilishning umumiy yondashuvi:

  1. SaveChanges paytida DbUpdateConcurrencyException ni oling.
  2. DbUpdateConcurrencyException dan foydalaning.
  3. Ma'lumotlar bazasidagi joriy qiymatlarni aks ettirish uchun parallellik tokenining asl qiymatlarini yangilang.
  4. Hech qanday ziddiyat yuzaga kelmaguncha jarayonni qaytadan sinab ko'ring.

Web API bir vaqtning o'zida qanday ishlaydi?

Qanday parallellikni boshqarish ASP. NET yadrosida Web API . Bo'sh loyiha yarating va MVC uchun xizmatlar va o'rta dastur qo'shish uchun Startup sinfini yangilang. Ko'rsatish uchun GET va PUT bilan kontroller qo'shing parallellik . GET so'rovini yuboring va ETag sarlavhasini kuzating (Postman yordamida).

Tavsiya: