Asp.net
如何在程式碼優先遷移中強制刪除並重新創建選定表?
我想刪除一個包含一千列的表並讓遷移重新創建它。我可以發出一個
DropTable("MyTableWithManyColumns");但問題是我會像這樣手動創建表
CreateTable( "dbo.MyTable", c => new { RowId = c.Int(nullable: false, identity: true), // many columns follow... }) .PrimaryKey(t => t.RowId);更簡單的方法是使用 SSMS 並右鍵點擊將創建表拖放到新視窗並從那裡執行。
但是有沒有使用程式碼遷移的簡單方法?
我可以看到兩種可能的方式:
- 從數據庫中刪除表
- 生成一個新的遷移(使用
Add-Migration)。將生成創建缺失表的新遷移- 執行遷移(使用
Update-Database)或者
- 從上下文中刪除實體(記得刪除與其他實體的所有關係)
- 使用生成遷移
Add-Migration(它將生成刪除表方法)- 使用執行遷移
Update-Database- 將實體添加到上下文
- 使用生成一個新的遷移
Add-Migration(它將生成一個創建表方法)- 使用執行遷移
Update-Database希望能幫助到你!