以下是我多次遇到的事件序列:
现在我处于无法使用上下文的状态,因为它提供了需要更新的错误。
但是,由于库存已经存在,更新会导致错误(重复列)。
所以我只是从根本上“做错了”,或者是否在包管理器中有一些命令说“我手动更新了我的数据库并且它现在是最新的”?
答案 0 :(得分:2)
发生的事情是EF不知道您的迁移已经应用。
我所做的是在包管理器控制台中输入:
update-database -v -f -script
生成迁移脚本 - 然后我复制生成的sql中的最后一行,它将数据添加到__MigrationHistory表中,并手动执行。它看起来像这样:
这应该将您的代码与数据库同步。
答案 1 :(得分:0)
为了防止这种情况一次又一次地出现,您不应该在数据库中手动添加列,而是使用update-database来更新它。
正确的步骤应该是: