首先在EF代碼中,我想從一個表中刪除一列&,然後刪除另一個表。從EF CodeFirst遷移中刪除表
從類文件中刪除一列後,自動生成一個遷移文件。
但是如何刪除表格。
需要發射什麼命令?我是否需要刪除完整的類文件&還從上下文文件中刪除以下行?
public DbSet<TableClassName> TableClassNameSet { get; set; }
我使用添加移植'TableClassName'命令。
那麼刪除表格的最佳方法是什麼?
首先在EF代碼中,我想從一個表中刪除一列&,然後刪除另一個表。從EF CodeFirst遷移中刪除表
從類文件中刪除一列後,自動生成一個遷移文件。
但是如何刪除表格。
需要發射什麼命令?我是否需要刪除完整的類文件&還從上下文文件中刪除以下行?
public DbSet<TableClassName> TableClassNameSet { get; set; }
我使用添加移植'TableClassName'命令。
那麼刪除表格的最佳方法是什麼?
要刪除表格,您可以在DBMigration
類別的Down()
方法中使用DropTable("YourTable")
。
另請參閱以下鏈接以獲取有關如何自定義遷移的更多示例。
https://msdn.microsoft.com/en-au/data/jj591621.aspx#customizing
如果你只是在最後的移民所做的更改,可以rollback,移民。否則,只需調整您的模型,並在下次遷移時找到更改。要刪除表格,只需刪除相應的DbSet<MyClass>
以及在模型的其他部分對該類的任何引用,EF將自動將DropTable添加到遷移。如果您不再將該類用於非實體框架目的,則可以將其刪除。
使用DropTable是正確的,但它可能更好地調整模型。 另外這個問題似乎是關於刪除一個不撤消遷移表。 Down()用於反轉最新的遷移。所以根據我的理解,在這種情況下代碼應該在Up()中。 –
@MikaelEliasson是的,謝謝。完成:) –