使用ef code first模式,在部署后服务器端把数据库同步到最新版本的方法

共有两种方法:

1.使用migrate.exe

具体使用方法请参考 msdn migrate使用方法,这里只做介绍

  • 复制migrate.exe
    在使用 NuGet 安装实体框架时,migrate.exe 位于下载包的 tools 文件夹中。在 <项目文件夹>packagesEntityFramework.<版本> ools 中,有了 migrate.exe 之后,需要将其复制到发布后的bin文件夹下

  • 使用 Migrate.exe
    打开命令行窗口,定位到bin文件夹下(此时该文件加下已经有了migrate.exe),执行命令

      //MyMvcApplication.dll为程序集dll
      Migrate.exe MyMvcApplication.dll /startupConfigurationFile=”..web.config”
    

2.在程序启动入口加入

 Database.SetInitializer(new MigrateDatabaseToLatestVersion<ApplicationDbContext, Migrations.Configuration>());

ApplicationDbContext为数据库上下文,Migrations.Configuration为迁移配置文件,这样每次程序里实体模型发生变化并部署后,打开应用,打开使用了该变化的网页就能自动更新数据库到最新版本

原文地址:https://www.cnblogs.com/dongshuangjie/p/5279217.html