مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

sun2rise

عضویت از 1393/01/18

آپدیت تغییرات جدید در دیتابیس بدون اجرای کد در کنسول؟

  • دوشنبه 28 مهر 1399
  • 10:46
تشکر میکنم

برای آپدیت دیتابیس پس از تغییرات داخل Model نیازمند اجرای کد update-database در کنسول هستیم (البته در code first)

حالا میخواستم ببینم راهی هستش که بدون اینکه این دستور رو داخل کنسول بزنیم پروژه خودش متوجه تغییرات بشه و خودش خودکار دیتابیس رو آپدیت کنه بدون اینکه بخواد اروری بده؟

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • دوشنبه 28 مهر 1399
  • 10:56

دوست عزیز سلام.

قبلا تو 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 میده.

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)