مایگرشن یا Migration در EF Core
در پروژههای دنیای واقعی، مدلهای داده با پیادهسازی ویژگیها تغییر میکنند: موجودیتها یا ویژگیهای جدید اضافه و حذف میشوند، و اسکیمای پایگاه داده باید بر این اساس تغییر کنند تا با برنامه همگام شوند. ویژگی مایگرشن در EF Core راهی برای به روز رسانی تدریجی اسکیمای پایگاه داده برای همگام نگه داشتن آن با مدل داده های برنامه و در عین حال حفظ داده های موجود در پایگاه داده فراهم می کند.
چرا به Migration نیاز داریم
EF Core Migrations یک روش منعطف و راحت برای مدیریت تغییرات پایگاه داده ارائه می دهد، به خصوص در محیط های توسعه تیم که ممکن است چندین برنامه نویس در حال ایجاد تغییرات در یک طرح پایگاه داده باشند. مایگرشن EF Core به چند دلیل مورد نیاز است:
تکامل اسکیما: همانطور که برنامه شما تکامل می یابد، اسکیما پایگاه داده نیز تکامل می یابد. مایگرشن EF Core شما را قادر میسازد تا این تغییرات در اسکیما را در طول زمان ردیابی و مدیریت کنید.
مدیریت آسان پایگاه داده: با مایگرشن EF Core، می توانید تغییرات پایگاه داده را به صورت نسخه ای مدیریت کنید و مدیریت پایگاه داده را با تکامل برنامه خود آسان تر می کند.
ایجاد خودکار پایگاه داده: میتوانید از مایگرشن EF Core برای ایجاد خودکار اسکیمای پایگاه داده استفاده کنید و نیازی به اسکریپتهای SQL دستی یا سایر فرآیندهای مدیریت پایگاه داده دستی را از بین ببرید.
وضعیت ثابت پایگاه داده: مایگرشن هسته EF تضمین می کند که همه نمونه های پایگاه داده در یک وضعیت ثابت هستند و احتمال خطاها و ناسازگاری ها در پایگاه داده را کاهش می دهد.
همکاری بهبود یافته: مایگرشن هسته EF کار تیمها را آسانتر میکند، زیرا هر توسعهدهنده میتواند با یک نسخه محلی از پایگاه داده کار کند که با آخرین تغییرات اسکیما همگام است.
مایگرشن به طور پیش فرض در EF Core فعال هستند. آن ها با اجرای دستورات مدیریت می شوند. اگر ویژوال استودیو دارید، میتوانید از Package Manager Console برای مدیریت مایگرشن ها استفاده کنید. همچنین، میتوانید از ابزار خط فرمان برای اجرای دستورات Entity Framework CLI برای ایجاد مایگرشن استفاده کنید.
مایگرشن خودکار در EF Core
در روش معمولی مایگرشن ها برای هر تغییر باید یک مایگرشن ایجاد و دیتابیس را بروز نگه داریم.
در این آموزش به شما نشان خواهیم داد که چگونه بدون اضافه کردن و استفاده از دستورات مایگرشن و به صورت خودکار مایگرشن ها و تغییرات دیتابیس را مدیریت کنیم.
در این آموزش از دات نت 8 و Asp.net Core Minimal API استفاده شده است.
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید