Entity Framework Core (EF Core) یکی از محبوبترین ORMها برای توسعهدهندگان .NET است که امکان کار با پایگاه دادههای رابطهای را بهصورت شیگرا فراهم میکند. با این حال، در برخی مواقع نیاز داریم که عملیات روی مجموعه دادههای بزرگ بهصورت بهینهتری انجام شود. در این مقاله، روشهای مختلف بهروزرسانی دادهها در EF Core را بررسی میکنیم و به تفاوت بین روش عادی (Normal) و روش دستهای (Bulk) میپردازیم.
در روش عادی، ابتدا تمامی رکوردهای مورد نظر از پایگاه داده بارگذاری میشوند، سپس تغییرات لازم روی هر رکورد اعمال میشود و در نهایت تغییرات ذخیره میشوند. کد این روش به صورت زیر است:
معایب روش عادی:
SaveChangesAsync
باعث تولید چندین کوئری برای بهروزرسانی رکوردها میشود.برای بهینهسازی، میتوان از عملیات دستهای (Bulk Operation) استفاده کرد. در این روش، بهجای بارگذاری رکوردها در حافظه، بهروزرسانی بهصورت مستقیم در پایگاه داده انجام میشود. بهعنوان مثال:
مزایای روش دستهای:
با توجه به مثالها، روش Bulk بهویژه برای مجموعه دادههای بزرگ، سرعت و بهینهسازی بیشتری به همراه دارد. هرچند در پروژههای کوچک، روش عادی نیز ممکن است بهخوبی کار کند، اما برای پروژههایی با مقیاس بزرگتر، روش دستهای توصیه میشود.
بهینهسازی عملیاتهای مربوط به پایگاه داده یکی از جنبههای مهم در توسعه نرمافزارهای بزرگ است. استفاده از عملیات دستهای (Bulk Operations) در EF Core میتواند تأثیر زیادی در عملکرد و کارایی سیستم داشته باشد. در این مقاله، روشهای مختلف و مزایا و معایب هر کدام را بررسی کردیم.
برای آشنایی بیشتر و مشاهده نحوه پیادهسازی عملی این مفاهیم، میتوانید ویدیوی آموزشی من در یوتیوب را از لینک زیر مشاهده کنید:
مشاهده ویدیوی آموزشی