گرم کردن EF Core در ASP.NET Core
نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۳۰ ۰۹:۱۹
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
EF Core در پروژههای ASP.NET Core با تعداد زیادی مدل و تنظیمات پیچیده میپردازد. هدف از این کار، کاهش تأخیر در عملیات اولیهی دسترسی به پایگاه داده در زمان راهاندازی برنامه است.
این روش با استفاده از یک سرویس میزبانی (Hosted Service) انجام میشود که مدل EF Core را پیشبارگذاری کرده و یک پرسوجوی سبک را اجرا میکند. این سرویس تضمین میکند که کامپایل پرسوجو و مقداردهی اولیه مدل EF Core در زمان شروع برنامه انجام شده و در نتیجه، تأخیر در اولین عملیات پایگاه داده در زمان اجرا کاهش مییابد.
برای پیادهسازی این روش، دو کلاس AppConfiguration و CancellationTokenSettings ارائه شدهاند که دسترسی به تنظیمات موجود در فایل appsettings.json را فراهم میکنند. این تنظیمات شامل استفاده از CancellationToken و تنظیم زمانبندی برای اتصال به پایگاه داده هستند.
کلاس EntityCoreWarmupService برای گرم کردن EF Core استفاده میشود. این کلاس باید با جایگزینی Context با DbContext مربوطه و جایگزینی Person با هر مدل موجود در DbContext سفارشیسازی شود. همچنین، استفاده از Log.Error (از کتابخانه Serilog) برای ثبت خطاها توصیه میشود.
در نهایت، این روش با پیشبارگذاری مدل و اجرای پرسوجوهای سبک، به بهبود عملکرد و کاهش تأخیر در برنامههای ASP.NET Core که از EF Core استفاده میکنند، کمک میکند.