دوره آموزش جامع انتیتی فریم ورک Entity Framework آشنایی با مکانیزم Migration

گروه نرم افزاری هیلتن
گروه نرم افزاری هیلتن
552 بار بازدید - 3 سال پیش - اگر قسمت های قبلی رو
اگر قسمت های قبلی رو دنبال کرده باشید هر وقت مدل رو تغییر میدادیم ، میومد و دیتابیس رو یکبار پاک میکرد و مجددا دیتابیس رو میساخت که این باعث میشد که کل اطلاعاتی که داخل دیتابیس داریم حذف بشن و از دست برن .... و ما برای جلوگیری از این کار میبایست قبلش از دیتابیس بکاپ میگرفتیم اما خود مایکروسافت با مفهوم Migration اومده اینکار رو کرده و چنین قابلیتی رو تو انتیتی فریم ورک اضافه کرده و دیگه لازم نیست از اول ما اینکار رو انجام بدیم فقط کافیه یکسری تغییرات تو برنامه ایجاد کنیم. در قسمت قبلی یک پوشه جدید به نام App_Source ایجاد کرده بودیم که داخلش سه پوشه به نام های DataLayer و Entity و EntityConfig داشتیم.حالا روی پوشه EntityConfig راست کلیک میکنیم و یک کلاس به نام MigrationConfig اضافه میکنیم و using مربوط به Migration رو اضافه میکنیم.حالا داخل کلاس MigrationConfig ای که ایجاد کردیم ، جلوی نام کلاس MigrationConfig یک دونقطه : میزنیم و مینویسیم DbMigrationsConfiguration تا کلاسمون از این کلاس ارث بری کنه و کانتکستی که میخوایم رو بهش میدیم تا کانفیگور روش اعمال شه یعنی مدلمون SchoolContext . حالا داخل کلاس MigrationConfig یک سازنده مینویسیم و دوتا مشخصه ی AutomaticMigrationsEnabled و AutomaticMigrationDataLossAllowed رو داخلش مینویسیم و مقدارشون رو true میکنیم. سپس وارد مدل یا همون SchoolContext مون میشیم ، داخل سازنده ای داخل مدل هست میشیم (یا سازنده پیشفرض مدلمون ، فرقی نمیکنه داخل کدوم سازنده باشه) و برای اضافه کردن کلاس Migration به پروژه ، دقیقا مثل قبل دیتابیس مون رو SetInitializer میکنیم و نام Context مون رو که میخوایم این کانفیگ رو روش اعمال کنیم و نام کلاس MigrationConfig مون رو که میخوایم روی مدل یا همون Context مون اعمال شه بهش میدیم (البته توجه داشته باشید که برای Migration ما دوتا راه داریم ، یکی اینکه اینکار رو بصورت اتومات ، انتیتی فریم ورک انجام بده و یکی اینکه یک کلاس جداگونه واسش بنویسیم). حالا واسه اینکه تو دیتابیس قبلی Migration اعمال نشده ممکنه وقتی برنامه رو اجرا میکنید یکسری مشکلاتی بوجود بیاد به همین دلیل یکبار دیتابیس رو پاک میکنیم .. بنابراین به یاد داشته باشید همیشه همون اول کار قبل از ایجاد دیتابیس تکلیف Migration را مشخص کنید.
3 سال پیش در تاریخ 1400/02/11 منتشر شده است.
552 بـار بازدید شده
... بیشتر