gpt4 book ai didi

c# - EF 迁移没有挂起的更改,但它仍然提示有挂起的更改。 EF 如何跟踪这个?

转载 作者:太空狗 更新时间:2023-10-30 01:35:12 31 4
gpt4 key购买 nike

我的项目中有几个迁移文件,由于我对上次迁移进行了手动修改,所以我不想使用“程序包管理器控制台”重新生成它。我只需要添加 1 列。所以在之前的迁移中手动添加了这个(我可以这样做,因为还没有人升级过)。

现在,当我开始我的项目时,本地数据库似乎可以很好地创建我的新列,但我确实遇到了一个异常:“无法更新数据库以匹配当前模型,因为存在未决更改且自动迁移已禁用”

看起来我能解决这个问题的唯一方法是生成一个额外的迁移——尽管如此,这个迁移生成的代码行与我在之前的迁移中手动编写的代码行完全相同......

我想知道 - EF 如何跟踪这个并且有没有办法绕过它?

还有另一个问题——我想限制我拥有的迁移文件的数量是不是错了?我目前觉得在理想情况下,我的软件的每个版本最多应该只有 1 个迁移文件,以便更好地了解我的代码......

谢谢你,

最佳答案

EF 将序列化模型的哈希值保存在 _MigrationHistory 表中,并在您使用迁移时比较它们以确保数据库架构与模型匹配。我不建议试图绕过这个。如果您希望减少文件数量,则可以回滚然后合并迁移。但我认为这不值得。我只是定期将迁移放入子文件夹

我推荐这篇文章:

http://elegantcode.com/2012/04/12/entity-framework-migrations-tips/

关于c# - EF 迁移没有挂起的更改,但它仍然提示有挂起的更改。 EF 如何跟踪这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26840797/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com