باسلام خدمت بزرگواران .من یک سایت میخوام طراحی کنم که از شیوه CodeFirst برای طراحی دیتابیس استفاده نمودم همچنین برای احرازهویت از سیستم identity2 استفاده کرده ام وجداولم را باهم ارتباط داده ام . دیتابیس بدون هیچ مشکلی migration میشود و اگر نیاز به تغییرنیز داشته باشد براحتی میتوان روی دیتابیس migration زد ولی وقتی از برنامه اجرا میگیرم پیغام زیر نمایش داده میشود:
این مشکل را میتوان با حذف جدول dbo_MigrationHistory در دیتابیس حل کرد ولی اگر دوباره نیاز به تغییر در دیتابیس وجود داشته باشد دیگر نمیتوان روی دیتابیس migration زد وباید کل دیتابیس رو دوباره حذف کرد واز اول migration زد دریک پروژه دیگر هم همین مشکل رو داشتم که باحذف آن جدول ازدیتابیس مشکلم حل شد ولی خب اگرآن جدول را حذف کنم دیگرنمیتوانم درصورت نیازدیتابیسم رو تغییربدم ممنون میشم راهنماییم کنیدبزرگواران.....
با سلام
مشکل به وجود اومده به این دلیله که schema مربوط به دیتا بیس شما با migration ها تداخل داره
حذف کردن جدول dbo_MigrationHistory کار درستی نیست چراکه تغییرات دیتابیس ( تاریخچه migratin ) شما رو درون خودش نگه میداره و این کار کاملا اشتباهه
کد زیر رو به Global.asax اضافه کنین :
Database.SetInitializer<DBContextName>(null);
به جای DBContextName ، نام Context خودتون رو بذارین
دیتا بیس و تمام migration های خودتون رو از پروژه پاک کنین و یه migration جدید بزنین تا database و جدول dbo_MigrationHistory دوباره از اول ساخته بشن
این کار رو تست کنین
اگر نتیجه نگرفتین دوباره مشکل رو با جزییات بیشتر مطرح کنین
موفق باشین :)
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)