რა არის კონკურენტულობა Entity Framework-ში?
რა არის კონკურენტულობა Entity Framework-ში?

ვიდეო: რა არის კონკურენტულობა Entity Framework-ში?

ვიდეო: რა არის კონკურენტულობა Entity Framework-ში?
ვიდეო: Concurrency in ASP.NET Core | Optimistic | Pessimistic | C# 2024, დეკემბერი
Anonim

კონკურენტულობა მენეჯმენტი შიგნით ერთეულის ჩარჩო ბირთვი. კონკურენტულობა კონფლიქტები წარმოიქმნება, როდესაც ერთი მომხმარებელი იბრუნებს ან სუბიექტის მონაცემები, რათა შეცვალონ იგი, შემდეგ კი სხვა მომხმარებელი განაახლებს იგივეს სუბიექტის მონაცემები მონაცემთა ბაზაში პირველი მომხმარებლის ცვლილებების ჩაწერამდე.

ანალოგიურად, როგორ ამუშავებს Entity Framework კონკურენტულობას?

ერთეულის ჩარჩო მხარს უჭერს ოპტიმისტურს კონკურენტულობა ნაგულისხმევად. EF ინახავს ერთეული მონაცემთა ბაზაში, იმ ვარაუდით, რომ იგივე მონაცემები არ შეცვლილა მას შემდეგ ერთეული დატვირთული იყო. თუ აღმოაჩენს, რომ მონაცემები შეიცვალა, მაშინ გამონაკლისი არის დააგდეს და თქვენ უნდა მოაგვაროთ კონფლიქტი მის გადარჩენამდე.

ასევე, რა არის კლიენტის მოგების და მაღაზიის მოგების რეჟიმი Entity Framework-ის კონკურენციაში? In მაღაზია იმარჯვებს / მონაცემთა ბაზა იგებს სერვერის მონაცემები იტვირთება თქვენს ერთეული ობიექტები. კლიენტი იგებს საპირისპიროა შენახული მოგება , მონაცემები ერთეული ობიექტი შენახულია მონაცემთა ბაზაში. ჩვენ უნდა გამოვიყენოთ "განახლების" მეთოდი ერთეულის ჩარჩო კონტექსტში და ამისათვის ჩვენ უნდა გამოვიყენოთ "RefreshMode" პუნქტი.

ამის გათვალისწინებით, რას გულისხმობთ კონკურენტულობაში?

კონკურენტულობა არის მონაცემთა ბაზის შესაძლებლობა, რომ მრავალ მომხმარებელს ნება დართოს გავლენა მოახდინოს მრავალ ტრანზაქციაზე. ეს არის ერთ-ერთი მთავარი თვისება, რომელიც განასხვავებს მონაცემთა ბაზას მონაცემთა შენახვის სხვა ფორმებისგან, როგორიცაა ცხრილები. შეთავაზების უნარი კონკურენტულობა უნიკალურია მონაცემთა ბაზებისთვის.

როგორ უმკლავდება Web API კონკურენტულობას?

Როგორ გაუმკლავდეს კონკურენტულობას ASP. NET Core-ში ვებ API . შექმენით ცარიელი პროექტი და განაახლეთ Startup კლასი, რომ დაამატოთ სერვისები და შუალედური პროგრამები MVC-სთვის. საჩვენებლად დაამატეთ კონტროლერი GET-ით და PUT-ით კონკურენტულობა . გაგზავნეთ GET მოთხოვნა და დააკვირდით ETag სათაურს (ფოსტალიონის გამოყენებით).

გირჩევთ: