从EF CodeFirst迁移中删除表

时间:2016-08-12 04:04:17

标签: c# sql-server entity-framework ef-code-first ef-migrations

首先在EF代码中,我想从一个表中删除一列&然后删除另一个表。

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

但如何删除表。

什么命令需要开火?我是否需要删除完整的类文件&还从Context文件中删除以下行?

 public DbSet<TableClassName> TableClassNameSet { get; set; }

我使用,添加迁移&#39; TableClassName&#39;命令。

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

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

  1. 从上下文类中删除此行

    公共DbSet TableClassNameSet {get;组; }

  2. 执行此命令:

    Update-DataBase -force -verbose

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

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

删除您的

public DbSet<TableClassName> TableClassNameSet { get; set; }