1

当我第一次构建网站时,我使用的是EF4 Code First(无需迁移)。现在我的客户问我一些需要重构我的代码库的新功能。重构的一部分是将我的模型移动到一个单独的程序集中(应该从一开始就完成,但我当时不知道)。因此,无论如何,现在我的整个代码库都发生了变化,并且几乎所有的程序集名称和名称空间都被更改了,当我将该网站部署到临时环境时,EF重新生成了测试数据库。防止EF代码首先重新生成我的生产数据库

所以我的问题有什么可以做的,以避免这种情况?我还没有使用迁移,但是这是一个可行的解决方案?

P.S:我也想知道为什么发生这种情况,我没有真正改变任何模型类的任何属性。是否现在他们属于另一个命名空间,他们被EF看作是一个全新的模型?

回答

2

如果你确信你没有改变任何表尝试添加:

Database.SetInitializer<YourContext>(null); 

到应用程序的初始化。它会从您的应用程序中删除任何初始化策略,它不会再创建数据库。

+0

这实际上工作! :)从那里开始,我应该能够正常使用EF Migrations来更改我的数据库模式,对吧? – Kassem

相关问题