回滚迁移错误不允许从数据类型datetime到int的隐式转换。使用CONVERT函数运行此查询

时间:2019-05-16 16:57:59

标签: c# sql-server ef-code-first ef-migrations

我已使用已经在本地数据库上应用的迁移更新了登台数据库。但是,尽管更新数据库过程顺利进行并表示已应用更改,但某些迁移并未对数据库进行更改。

我已将输出内容放在此file

尽管输出清楚地表明已应用更改,但是当我检查数据库ExportCSV和ExportCSV2时,都明显缺少字段M9,M10 A4-A20,但添加了一些字段,如TI1或I1,但有些保留了。

我试图回滚到最后一个良好的迁移错误,并想在登台数据库上运行add-migration,但是我明白了

    Error Number:257,State:3,Class:16
Implicit conversion from data type datetime to int is not allowed. Use the CONVERT function to run this query.

首先,如果我可以回滚数据库,那会很好。

任何建议将不胜感激!

1 个答案:

答案 0 :(得分:0)

我已按照此步骤解决了问题。

对dbcontext中的模型进行了注释,通过代码优先方法(添加迁移而不是更新数据库)删除了两个有问题的表。

取消注释表,通过添加迁移而不是更新数据库重新创建它们。

也许更好的方法是在更新登台数据库或实时数据库时,而不是先运行迁移以从模型创建迁移。