使用不存在的表添加迁移问题

时间:2017-01-19 09:37:37

标签: c# entity-framework ef-migrations

当我生成迁移时,它无法确定我在DB中没有某个表(Reports),因此生成的迁移为空。尽管如此,我已经拥有了所有代码,以便让这一代顺利运行。

这段代码很旧,直到今天仍未完成。此外,我找不到任何涉及上述表的迁移,但出于某种原因,它认为该表已存在于DB中。例如,如果我更改Mapping类中的表名,如下所示,它将使用RenameTable命令生成迁移。当然, update-database 命令将失败。

this.ToTable("Report");

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:2)

正如评论中指出的那样,通过使用以下黑客来解决问题:

  1. 删除实体,并注释掉所有使用它的位置。
  2. 创建迁移并从Up和Down方法中清除代码。
  3. 应用迁移。
  4. 重新添加实体。
  5. 创建另一个迁移。它现在应该生成添加表的代码。