اجرای سریع Migration در Entity Framework Code First

در این مقاله قصد داریم تا شما را با اجرای سریع مهاجرت در Entity Framework Code First و پروژه MVC آشنا کرده و نحوه استفاده از آن را آموزش دهیم.

در ابتدا برای استفاده ازMigration  در کد فرست باید Entity Framework را به پروژه اضافه کرد.در ابتدا برای استفاده ازMigration  در کد فرست باید Entity Framework را به پروژه اضافه کرد.

 

برای انجام این کار از منوی Tools گزینه ی Nuget Package Manager و سپس منوی داخلی Package Manager Console را انتخاب کرده و سپس در پنجره ظاهر شده رشته زیر را وارد می کنیم تا به پروژه فایل های EntityFramework  اضافه شود.

 

 Install-Package EntityFramework

 

سپس مشاهده می کنید که Entity Framework در آن با موفقیت به صفحه اضافه شده است.

 

سپس مدل را ایجاد می کنیم.

 

public class Model
    {
//قبل از اعمال تغییرات
        [Key]
        [Display(Name="نام کاربری")]
        [MaxLength(100)]
        public string UserName { get; set; }


        [Required]
        [Display(Name = "گذرواژه")]
        [MaxLength(100)]
        public string Password { get; set; }
    }

 

در ابتدا مدل ما دارای دو ستون UserName  و Password است.کنترلر را از نوع EntityFramework ایجاد میکنیم و تیک Gnerate را میزنیم و سپس پروژه اجرا کرده  تا دیتابیس در (LocalDB) ایجاد شده و بتوانیم جدول های ایجاد شده را مشاهده کنیم.

 

سپس وارد دیتابیس می شویم.

در دیتا بیس مقداری را در این جدول وارد می کنیم.

 

سپس ما تصمیم به تغییر مدل گرفته ایم و قرار است به مدل دو ستون دیگر به نام های Name و Email را اضافه کنیم.

 

public class Model
    {
        //بعد از اعمال تغییرات
        [Key]
        [Display(Name="نام کاربری")]
        [MaxLength(100)]
        public string UserName { get; set; }


        [Required]
        [Display(Name = "گذرواژه")]
        [MaxLength(100)]
        public string Password { get; set; }

        [Display(Name = "ایمیل")]
        [MaxLength(100)]
        [EmailAddress]
        public string Email { get; set; }

        [Display(Name = "نام")]
        [MaxLength(100)]
        public string Name { get; set; }
    }

 

 

هنگامی که تغییرات را ایجاد کردیم و مدل را تکمیل کردیم ، زمانی که اجرا میکنیم با خطای زیر مواجه می شویم.

 

برای جلوگیری از این خطا و قرارگرفتن  ستون های جدید در جدول مربوطه در دیتابیس پس ایجاد تغییر در مدل باید از طریق منوی Tools گزینه ی Nuget Package Manager و سپس منوی داخلی Package Manager Console را انتخاب کرده و در پنجره ظاهر شده رشته های  زیر را وارد می کنیم تا عملیات Migration به طور کامل و خودکار اجرا شود.

 

Enable-Migration

اجازه می دهیم تا به طور کامل اجرا شود

Add-Migration

سپس از ما نامی برای این Migration را وارد می کنیم :

SampleMigration1

سپس دستور زیر را وارد می کنیم.

Update-Database

 

بعد از اجرای موفقیت آمیز  عملیات Migration در صورتی که پروژه را دوباره اجرا کنیم و دیتابیس را باز کنیم در جدول مورد نظر را مشاهده می کنیم تغییرات انجام شده است.ضمن اینکه مقادیر داخل جدول در دیتابیس حفظ می شود.

 

در صورتی که ویو های ایجاد شده را پاک کرده و دوباره ایجاد کنید فیلد های اضافه شده نیز در آن قرار  می گیرند.