首页 新闻 会员 周边

关于 EF database first 的几个问题

0
悬赏园豆:5 [已解决问题] 解决于 2013-12-18 13:50

      我用database first生成了Model类型,第一次正常显示数据,然后我又利用ef自动生成了一个模型,将这个模型添加到了DbContext类中,然后页面提示:模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库。

1.每次修改DbContext类,都需要做数据迁移吗? 我上面的操作其实并没有改变模型的属性?也不属于code first 模式,为什么还要数据迁移?

2.有没有配置为不用每次做数据迁移的?我可以自己做操作?每次页面不能访问,都要运行几个命令,很麻烦,而且自带的很不好用?

3.有没有比这简便的办法?

jquery09的主页 jquery09 | 菜鸟二级 | 园豆:207
提问于:2013-12-17 17:04
< >
分享
最佳答案
0

你讲的不太清楚,我也就不按照你的回答,我只说在 Code first 模式下通过代码(注意不是命令行),如何实现迁移,以及如何控制迁移。

首先你要实现以下几个类: DbContext,MigrateDatabaseToLatestVersion<T1,T2>,DbMigrationsConfiguration<T>。

DbMigrationsConfiguration<T> 的 AutomaticMigrationsEnabled 可以控制是否启用自动迁移功能,AutomaticMigrationDataLossAllowed 可以控制启动自动迁移后,是否允许数据丢失行为发生。

当你实现了这些类后,你只需要运行代码即可,不需要使用命令行。

收获园豆:5
Launcher | 高人七级 |园豆:45045 | 2013-12-17 17:15

   如果使用DataBase Frist  操作该如何操作呢,因为我发现使用database first  在dbcontext里面 新增了model类型,每次都让我数据迁移,该如何操作呢来避免这些繁琐的步骤?具体实现是如何实现的?

jquery09 | 园豆:207 (菜鸟二级) | 2013-12-17 19:08

@jquery09: 据我所知,Db First 不支持迁移,你应该先学习下 Db First,Model First,Code-First 三者的区别。

Launcher | 园豆:45045 (高人七级) | 2013-12-18 09:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册