برای آپدیت دیتابیس پس از تغییرات داخل Model نیازمند اجرای کد update-database در کنسول هستیم (البته در code first)
حالا میخواستم ببینم راهی هستش که بدون اینکه این دستور رو داخل کنسول بزنیم پروژه خودش متوجه تغییرات بشه و خودش خودکار دیتابیس رو آپدیت کنه بدون اینکه بخواد اروری بده؟
دوست عزیز سلام.
قبلا تو ef معمولی (نه core) ، از این امکان من استفاده میکردم و بدون اینکه add-migration و update-database بزنم با اولین اجرای برنامه یا وبسایت، دیتابیس من بر اساس آخرین تغییرات مدل هایم آپدیت میشد و کد بشرح زیر است:
Database.SetInitializer<DatabaseContext>(new MigrateDatabaseToLatestVersion<DatabaseContext,Configuration>("DBName"));
using (var context = new DatabaseContext())
{
context.Database.Initialize(force: true);
}
Database.SetInitializer<DatabaseContext>(null);
تکه کد بالا رو باید کانستراکتور context بنویسید.
ولی توصیه من اینه که از این روش استفاده نکنید. چون دردسرهای خیلی زیادی داره و گاهی مواقع و بخصوص در پروژه های بزرگ قاطی میکنه و میبینید بی دلیل داره error میده.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)