重置实体框架5的上下文,使其认为它使用初始化的数据库-代码优先
本文关键字:初始化 数据库 代码 框架 实体 上下文 | 更新日期: 2023-09-27 18:26:42
链接到此问题:
无法使用EF 5拆分表-代码优先-使用现有数据库
但我认为这个问题的答案实际上不是代码的问题,而是我在开发过程中所做的事情。
场景是这样的:
- 有一个现有的数据库,并使用它开始创建我的数据上下文
- 开始使用它,但很快意识到命名约定很差,一些表需要重新设计
- 决定创建一个新的数据库,为现有的表提供更好的约定,并重新构建新的位
- 更新上下文以查看新数据库
- 尽管没有启用迁移,但我还是遇到了数据库不同步的错误(尽管直到今天早上它仍在提取数据)
- 我启用了迁移(另一个问题中的注释)并输出到脚本。您可以看到同步更改包括表名和Id属性等
我无法继续前进,当你像这样切换数据库时,上下文似乎不喜欢它(我已经说到了这一点,但这真的很脆弱)。我需要做的是以某种方式重置上下文,这样它实际上就不会认为对数据库进行了任何更改,并且认为它正在重新使用初始数据库。
我已经删除了migrations文件夹,但这没有任何作用。有什么办法可以让这一切发生吗?
尝试删除数据库中的__MigrationHistory
表。这是一个系统。