因为codefirst一旦修改实体,就会触发数据库一起改动,这点如果是本地系统还好
但是如果是已经在运行的发布的产品 更新版本
我不可能运行package Manager Console
那么请问如何才能做到发布的时候数据库同步更新 而且不丢数据??
用 Migration
这个我当然会,但是生产环境 让你运行package Manager Console 么
@小眼睛老鼠: Add-Migration 会生成一个migration class,你编译好发布不就好了,干嘛要再用console呢
@l3oz: 编译好直接发布就可以修改了么
不是一般都是add-migration
然后还要update-database才可以么
@小眼睛老鼠: 建议看一下链接的文章。
add-migration会生成一个更新数据库的类,你需要在Application_Start 里面执行一下
1 Database.SetInitializer(new MigrateDatabaseToLatestVersion<DBContext, Configuration>());
保证每次应用程序启动的时候,db都是最新的版本。
@l3oz: Automatically Upgrading on Application Startup (MigrateDatabaseToLatestVersion Initializer)
非常感谢!