使用实体框架6删除表

Chr*_*nty 3 ef-code-first entity-framework-6

我正在一个使用实体框架6代码的项目中工作,我正在尝试找出从数据库中删除现已过时的表的正确方法。网上似乎没有太多有关此的信息,我知道我可以简单地从dbcontext中删除dbset,为其删除迁移文件,并从dbs中的migrations表中删除该行,但是我只是想看看是否那是唯一的方法,因为这似乎很混乱?

Már*_*nka 5

如果我正确理解您也正在使用迁移,那么简单地删除迁移文件将不是一个好主意,因为它会破坏具有最新迁移的数据库。

在从DbContext中删除相关的DbSet之后,当然还要从仍在数据库中的其他实体中删除具有DbSet 的T参数的实体的所有引用之后,再创建另一个迁移步骤。

当您创建此新迁移步骤时,请在Up()函数中显示DropTable(...)迁移操作,该操作将删除此表。

我认为这是解决您问题的最干净,最简单的方法:)