我想删除一个包含一千列的表,让迁移重新创建它.我可以发一个
DropTable("MyTableWithManyColumns");
但问题是我会像这样手动创建表
CreateTable( "dbo.MyTable", c => new { RowId = c.Int(nullable: false, identity: true), // many columns follow... }) .PrimaryKey(t => t.RowId);
更简单的方法是使用SSMS并右键单击Drop Create Table到新窗口并从那里执行.
但有没有一种使用代码迁移的简单方法?
我可以看到两种可能的方式:
从数据库中删除表
生成新的迁移(使用Add-Migration
).将生成创建缺失表的新迁移
执行迁移(使用Update-Database
)
要么
从上下文中删除实体(请记住删除与其他实体的所有关系)
使用生成迁移Add-Migration
(它将生成一个drop table方法)
使用执行迁移 Update-Database
将实体添加到上下文中
使用生成新的迁移Add-Migration
(它将生成一个create table方法)
使用执行迁移 Update-Database
希望能帮助到你!