使用ef code first模式,在部署后服务器端把数据库同步到最新版本的方法
共有两种方法:
1.使用migrate.exe
具体使用方法请参考 msdn migrate使用方法,这里只做介绍
-
复制migrate.exe
在使用 NuGet 安装实体框架时,migrate.exe 位于下载包的 tools 文件夹中。在 <项目文件夹>\packages\EntityFramework.<版本>\tools 中,有了 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为迁移配置文件,这样每次程序里实体模型发生变化并部署后,打开应用,打开使用了该变化的网页就能自动更新数据库到最新版本