添加不存在的迁移问题 table

Add migration issue with a nonexistent table

当我生成迁移时,它无法计算出我在数据库中没有某个table (Reports),所以生成的迁移是空的。尽管如此,我已经准备好生成 运行 的所有代码。

这段代码很旧,直到今天才完成。此外,我找不到任何引用上述 table 的迁移,但出于某种原因,它认为 table 已经存在于数据库中。例如,如果我更改映射 class 中的 table 名称,如下所示,它将使用 RenameTable 命令生成迁移。当然,update-database 命令会失败。

this.ToTable("Report");

知道如何解决这个问题吗?

正如评论中所指出的,问题已通过使用以下 hack 解决:

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