عنوان:

‫احتیاط در مورد عملکرد بارگذاری تنبل EF Core


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۰/۱۹ ۰۶:۲۶
آدرس: www.dntips.ir
این مقاله به یک مشکل عملکردی در EF Core با بارگذاری تنبل اشاره دارد. هنگامی که یک موجودیت به DbContext اضافه می‌شود، EF Core بلافاصله بارگذار تنبل را تزریق می‌کند، حتی قبل از فراخوانی SaveChangesAsync(). این می‌تواند منجر به پرس و جوهای غیرضروری پایگاه داده شود، به خصوص اگر به ویژگی‌های بارگذاری تنبل قبل از ذخیره دسترسی پیدا کنید. راه حل این است که موجودیت‌ها را فقط درست قبل از فراخوانی SaveChangesAsync() به DbContext اضافه کنید. نویسنده یک مثال ساده با رابطه Blog و Post ارائه می‌دهد تا این مشکل را نشان دهد. این مشکل زمانی رخ می‌دهد که EF Core از reflection برای تزریق ILazyLoader استفاده می‌کند و دسترسی به Posts قبل از ذخیره باعث پرس و جوی غیرضروری می‌شود.


مشاهده مطلب اصلی