2016-08-12 149 views
2

首先在EF代碼中,我想從一個表中刪除一列&,然後刪除另一個表。從EF CodeFirst遷移中刪除表

從類文件中刪除一列後,自動生成一個遷移文件。

但是如何刪除表格。

需要發射什麼命令?我是否需要刪除完整的類文件&還從上下文文件中刪除以下行?

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

我使用添加移植'TableClassName'命令。

那麼刪除表格的最佳方法是什麼?

回答

0

要刪除表格,您可以在DBMigration類別的Down()方法中使用DropTable("YourTable")

另請參閱以下鏈接以獲取有關如何自定義遷移的更多示例。

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

+0

使用DropTable是正確的,但它可能更好地調整模型。 另外這個問題似乎是關於刪除一個不撤消遷移表。 Down()用於反轉最新的遷移。所以根據我的理解,在這種情況下代碼應該在Up()中。 –

+0

@MikaelEliasson是的,謝謝。完成:) –

3

如果你只是在最後的移民所做的更改,可以rollback,移民。否則,只需調整您的模型,並在下次遷移時找到更改。要刪除表格,只需刪除相應的DbSet<MyClass>以及在模型的其他部分對該類的任何引用,EF將自動將DropTable添加到遷移。如果您不再將該類用於非實體框架目的,則可以將其刪除。