如何使用迁移创建Up和Down方法?

时间:2015-10-30 06:47:02

标签: c# asp.net-mvc ef-code-first code-first ef-migrations

我是Code的新手,您能告诉我如何为数据库中的所有表提供所有Up和Down方法(如下表所示)

public partial class abc: DbMigration
    {
        public override void Up()
        {
            AddColumn("dbo.UserTasks", "ServiceTechReason", c => c.Long());
        }

        public override void Down()
        {
            DropColumn("dbo.UserTasks", "ServiceTechReason");
        }
    }

我想要一个表的所有三种类型,即.cs,.Designer.cs,.resx。

2)你能解释一下上面的例子,我从互联网上的某个地方选择它我正在寻找这个但却一无所获。 abc是我在数据库中的表名吗?

如果已经回答,请提供链接。

修改

正如@scheien所提到的,我已经尝试过这些命令,他们不会自动覆盖表的上下方法

1 个答案:

答案 0 :(得分:1)

通过运行命令Add-Migration AddedServiceTechReason来完成迁移。

这假定您已使用Enable-Migrations命令启用了迁移。

要将当前迁移应用于数据库,您需要运行Update-Database。此命令将应用所有挂起的迁移。

代码优先迁移的关键是您对实体进行了所需的更改,然后使用Add-Migration命令添加新的迁移。然后,它将创建一个继承DbMigration的类,其中Up()Down()方法填充了您对实体/实体所做的更改。

根据@SteveGreenes评论:它确实接收了对您的实体的所有更改,因此您不需要为每个表/实体运行一次。

如果要自定义生成的迁移文件,请查看所列文章中的“自定义迁移”部分。

所有这些命令都在包管理器控制台中运行。

  

查看 - >其他窗户 - >包管理器控制台

Here's a great article from blogs.msdn.com that explains it in detail.