加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

实体框架 – 在代码第一实体框架中手动编辑数据库

发布时间:2020-12-12 08:41:35 所属栏目:MsSql教程 来源:网络整理
导读:我已经尝试使用MVC 3中的EF 4.1(代码第一).我正在考虑应用程序何时需要更改.我测试了几个场景.我喜欢在模型(我的POCO)更改时手动编辑数据库的想法. ASP.NET错误当我更改模型: “自从创建数据库以来,支持”CTCMContext“上下文的模型已经改变,可以手动删除/更
我已经尝试使用MVC 3中的EF 4.1(代码第一).我正在考虑应用程序何时需要更改.我测试了几个场景.我喜欢在模型(我的POCO)更改时手动编辑数据库的想法.

ASP.NET错误当我更改模型:

“自从创建数据库以来,支持”CTCMContext“上下文的模型已经改变,可以手动删除/更新数据库…”

现在,它说我可以“手动更新数据库”,但是我仍然得到相同的错误.我错过了一些东西!!

编辑

这是否与EF的模型哈希生成有关?

解决方法

我也有一些斗争.我发现当您让EF为您创建一个名为dbo.EdmMetadata的表创建数据库时,这就是EF如何跟踪模型的状态.我发现如果您在数据库初始创建后删除此表,您将把事情放入“手动模式”,您现在可以从数据库手动添加/删除列,表等,而EF不会抛出您的错误正在看.

然而,如果您想在更改模型时继续使用EF更新数据库,则需要根据您想要发生的行为创建并调用从DropCreateDatabaseIfModelChanges或DropCreateDatabaseAlways继承的ContextInitializer类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读