从EF CodeFirst迁移中删除表

Dev*_*son 5 c# sql-server entity-framework ef-code-first ef-migrations

首先要在EF代码中,从一个表中删除一列,然后再删除另一张表。

从类文件中删除一列后,将自动生成一个迁移文件。

但是如何删除表。

什么命令需要开火?我需要删除完整的类文件,还需要从上下文文件中删除以下行吗?

 public DbSet<TableClassName> TableClassNameSet { get; set; }
Run Code Online (Sandbox Code Playgroud)

我使用添加迁移“ TableClassName”命令。

那么删除表的最佳方法是什么?

Ste*_*ene 9

如果您只是在上次迁移中进行了更改,则可以回滚该迁移。否则,只需调整您的模型,更改将在下一次迁移中生效。要删除表,只需删除DbSet<MyClass>模型其他部分中对该类的相应引用和任何引用,EF 将自动将 DropTable 添加到迁移中。如果您不再将该类用于非实体框架目的,您可以将其删除。


小智 6

  1. 从上下文类中删除这一行

    公共 DbSet TableClassNameSet { 获取;放; }

  2. 执行这个命令:

    更新数据库-force-verbose


woo*_*ddy 5

要删除表,您可以DropTable("YourTable")在类Up()的方法中使用DBMigration

另请查看以下链接,了解有关如何自定义迁移的更多示例。

https://msdn.microsoft.com/en-au/data/jj591621.aspx#customizing