这个问题是我们实际开发中遇到过的问题。
可能的原因:数据库在执行数据表迁移的时候,数据表执行成功,最后插入EF数据迁移表__MigrationHistory的时候,没有把所有的命令行完整插入,缺失了一部分导致的。
解决办法:
1、先导出数据迁移表的sql
Nuget 里面执行:entityframeworkupdate-database -f -script
2、查询数据库该表中对应的字段,是否有值,如果有,需要先备份表数据。
3、手动删除物理表的字段,之后用EF执行正常迁移即刻。不出意外应该能迁移成功。
以上内容经过实际的测试。希望对大家有所帮助。