Anu*_*rma 4 sql asp.net-mvc entity-framework
错误地,我在数据库“ Named”中添加了一个列,doj
如果我现在想使用代码优先方法从表中删除该列,该怎么办。
我已经尝试过了
1-从模型中删除列定义。
2-删除迁移历史记录。
3-添加迁移
4-更新数据库。
但是仍然没有反映在数据库中吗?我在哪里弄错了?
无需删除迁移历史记录。
只需按照以下步骤
1: Remove properties from the model.
2: Run 'Enable-Migrations' in package manage console.
3: Next Run 'Add-Migration "MigrationsName"'. if any case it is showing 'The project tesproject failed to build then build project again.
4: Now run 'Update-Database'
Run Code Online (Sandbox Code Playgroud)
这将对您的代码产生影响。使用MSDN
尽管Neeraj的答案是正确的,并且在大多数情况下运行良好,但是如果该列中包含以前的数据,它将从索引中删除,但是数据仍将存在(并且就此而言,该列)。
若要完全删除列(及其中的数据),请使用DropColumn()
方法。为此,请创建一个新的迁移,add-migration unwantedColumnCleanup
并在up()
方法中包括必要的代码,然后单击update-database
。
namespace MyDB.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class unwantedColumnCleanup : DbMigration
{
public override void Up()
{
DropColumn("Table", "Column");
}
public override void Down()
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11725 次 |
最近记录: |