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

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

کاربر سایت

mobin hassani

عضویت از 1394/12/29

مایگریشن در انتینی فریم ورک کور

  • دوشنبه 24 اردیبهشت 1397
  • 15:38
تشکر میکنم

با سلام تا به حال پروژه هایی که انجام میدادم رو با Asp.net mvc و Entity framework انجام میدادم حالا میخام یه پروژه با دات نت کور و انتیتی فریم ورک کور انجام بدم 

تو پروژه دات نتم یک ;کلاس به نام DatabaseIntialize  داشتم که به مثل زیر بود 

 public class DatabaseInitializer
    {
        public static void Initialize()
        {
            var migrate = new MigrateDatabaseToLatestVersion<UserContext, UserMigrationsConfiguration>();
            UserContext ctx = new UserContext();
            migrate.InitializeDatabase(ctx);
        }
    }

کد فوق رو داخل global.asax داخل متد Application_Start مینداختم که هر بار برنامه استارت میشد اگه فیلدی اضافه کردم و با اگر جدولی رو حذف کردم یا اضافه کردم تغییرات به دیتابیسم migrate  شود حالا همین کار رو هم میخام تو پروژه دات نت کورم انجام بدم که هر بار برنامه رو ران کردم تغییراتی که رو دیتابیس اعمال کردم رو اتوماتیک اعمال شود 

یه مقدار سرچ زدم در رابطه با این موضوع و گفتند که به جای کارهایی که مثل بالا انجام دادم یه خط کد داخل انتیتی فریم کور وجود داره که کار کدهای بالا رو میکنه اونم اینه 

context.Database.MIgrate();

که این کد رو داخل StartUp پروژه دات نت کورم زدم ولی فقط جدول مربوط به migration  رو میره میسازه بقیه جداول رو نمیسازه 

به چیزی نیاز دارم که اتوماتیک با هر بار اجرای برنامه تغییراتی که داده شده به دیتابیس اعمال شود 

ممنون میشم اگه راهنماییم کنید

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

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

سهیل علیزاده

عضویت از 1396/04/09

  • دوشنبه 24 اردیبهشت 1397
  • 17:50
کاربر سایت

افشین ایمانی زاده

عضویت از 1393/12/24

  • دوشنبه 24 اردیبهشت 1397
  • 21:10

با سلام

لینک های زیر رو بررسی کنید شاید کمکتون کنه :

Enable Entity Framework Core Migrations in Visual Studio 2017

Migrating at runtime with Entity Framework Core

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

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

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

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