نحوه کار با مارگریشن در Asp.Net Core
نحوه کار با مارگریشن Migration در Asp.Net Core
در این پست به نحوه کار با مارگریشن در Asp.Net Core می پردازیم. بر خلاف Asp.Net MVC که باید مارگریشن را خودمان به پروژه اضافه کنیم اما به طور پیش فرض در Asp.Net Core مارگریشن پیاده سازی شده است.
به طور کلی در صورتی که تغییراتی در مدل خود اعمال کنیم ابتدا باید دستور مارگریشن را اجرا کنیم اگر این کار انجام ندهید و پروژه خود را اجرا کنید با خطا روبرو خواهید شد
اما در صورتی که در Asp.Net MVC با اجرا پروژه عمل مارگریشن به صورت خودکار روی پروژه انجام می شود.
نحوه کار با دستورات مارگریشن در Asp.Net Core
روش اول نوشتن دستورات مارگریشن در command
پیشنهاد ما استفاده از روش اول هستش
در صورتی iis فعال است ابتدا iis را stop کنید برای این کار کافیست روی آیکون iis در کنار ساعت ویندوز کلیک راست کنید و روی گزینه stop کلیک کنید.
سپس در جای که پروژه خود را ذخیره کرده اید بروید و وارد پوشه src شوید و روی نام پروژه خود با گرفتن کلید shift روی کیبورد کلید راست کنید
.
سپس گزینه open command window here را انتخاب کنید تا پنجره ای به صورت زیر باز شود
.
ابتدا دستور dotnet ef migrations add AnyName را بنویسید و می توانید به جای AnyName هر نام دیگری انتخاب کنید و با استفاد این دستور dotnet ef migrations remove هم می توانید این migration را حذف کنید. با اجرای این دستور یک کلاس در پوشه Data پروژه شما به نام AyName.cs که قبل نام انتخابی یک تاریخ هم اضافه شده به پروژه شما اضاافه می شود. اگر این کلاس را باز کنید تغییراتی که روی مدل انجام دادید در این کلاس با دو متد Up و Down نمایش می دهد.
توجه کنید که این کلاس ها را به صورت دستی حذف نکنید. در صورت حذف این کلاس ها به صورت دستی هنگام اجرای پروژه با خطا روبرو خواهید شد
و در نهایت در برای بروز رسانی دیتابیس دستور dotnet ef database update را اجرا کنید.
روش دوم استفاده از Package Manager Console خود ویژوال استادیو
نکته: زمانی که از این روش استفاده می کنید یک پوشه به نام Migrations به روت پروژه اضافه می شود.
ابتدا دستور add-migration Anyname را اجرا کنید و سپس دستور update-database را اجرا کنید.
نظر / سوال