【发布时间】:2020-11-30 01:46:35
【问题描述】:
我在我的 dbcontext 中为我的 Raw Queries 或 StoredProcs 创建了 DbSet,并在 OnModelCreating 下使用了modelBuilder.Entity<_Entity>().HasNoKey().ToView(null)。我在我的控制器中使用它们,如下所示:
_context._RTable.FromSqlRaw("exec sp_Run @thiscasenumber", casenumber).AsNoTracking().ToList();
它曾经在 EF Core 3.1 上运行良好。
我最近将我的解决方案升级到 5.0。现在,当我尝试进行添加迁移时,它第一次完成这项工作并且一切正常,但是没有进行任何更改,在更新数据库之后,当我再次运行添加迁移时,它会创建一个迁移并尝试删除这些不存在的实体。 migrationBuilder.DropTable(name: "_RTable");
有什么方法可以防止 EF 删除这些不存在的“表”?
谢谢
【问题讨论】:
-
我遇到了完全相同的事情,但找不到解决方案。很高兴听到我并不孤单。 stackoverflow.com/questions/65085351/…
-
我在一个新项目上尝试过,但它没有做同样的行为!我希望找到一种方法来防止 ef core 丢弃列,但到目前为止还没有运气...我可能会创建一个新项目并手动将所有内容移到那里以查看它的进展情况...
标签: c# entity-framework-core database-migration ef-core-5.0