首页 新闻 搜索 专区 学院

entityframework怎么解决数据发布的问题???codefirst

0
[已解决问题] 解决于 2013-09-24 15:43

因为codefirst一旦修改实体,就会触发数据库一起改动,这点如果是本地系统还好

但是如果是已经在运行的发布的产品 更新版本

我不可能运行package Manager Console

那么请问如何才能做到发布的时候数据库同步更新 而且不丢数据??

小眼睛老鼠的主页 小眼睛老鼠 | 老鸟四级 | 园豆:2779
提问于:2013-09-24 14:36
< >
分享
最佳答案
0
奖励园豆:5
zucker1988 | 小虾三级 |园豆:586 | 2013-09-24 14:44

这个我当然会,但是生产环境 让你运行package Manager Console 么

小眼睛老鼠 | 园豆:2779 (老鸟四级) | 2013-09-24 14:47

@小眼睛老鼠: Add-Migration 会生成一个migration class,你编译好发布不就好了,干嘛要再用console呢

zucker1988 | 园豆:586 (小虾三级) | 2013-09-24 14:53

@l3oz: 编译好直接发布就可以修改了么

不是一般都是add-migration

然后还要update-database才可以么

小眼睛老鼠 | 园豆:2779 (老鸟四级) | 2013-09-24 15:02

@小眼睛老鼠: 建议看一下链接的文章。

add-migration会生成一个更新数据库的类,你需要在Application_Start 里面执行一下

1 Database.SetInitializer(new MigrateDatabaseToLatestVersion<DBContext, Configuration>());

保证每次应用程序启动的时候,db都是最新的版本。

zucker1988 | 园豆:586 (小虾三级) | 2013-09-24 15:11

@l3oz: Automatically Upgrading on Application Startup (MigrateDatabaseToLatestVersion Initializer)

 

非常感谢!

小眼睛老鼠 | 园豆:2779 (老鸟四级) | 2013-09-24 15:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册