Entity Framework 如何在很多migrations的情况下重新利用package console 去创建新的数据库

一  Entity Framework 如何在很多migrations的情况下重新利用package console 去创建新的数据库

1、 暂时性移除数据库项目项目的migrations文件夹

2、打开菜单 Tools =>Nutget Package Manager =>package manager console

3、在package manager console 里面选择数据库的项目,并且把数据库的项目设置为启动项目

4、输入 Enable -migrations    update-database

二 对于数据库的修改可以指定某个migration文件 

public partial class PaperTest : DbMigration
{
    public override void Up()
    {
        AddColumn("dbo.Papers", "Test", c => c.String());
    }
    
    public override void Down()
    {
        DropColumn("dbo.Papers", "Test");
    }
}

Class的名称是上面Add后面定义的。而类下面有两个方法,一个是Up,一个是Down。在Up里面,记录了需要升级的修改,这里也就是Papers表格增加了列Test。只要我们在后面执行Update-Database,就会执行此类下面的Up函数。

这里的Down函数简单介绍就是,为了回滚修改而设计的。如果用户希望恢复到某一个迁移节点,程序会自动根据已经执行的迁移,判断回滚哪些迁移,执行他们的Down函数

三 迁移至指定版本(包括后退)

  迄今为止,我们总是升级至最新迁移,然而某些时候我们需要升级/降级至指定版本,例如我们想迁移数据库至运行 AddBlogUrl 迁移之后的状态,此时我们就可以使用 –TargetMigration 来降级到这个版本

  在 Package Manager Console 中运行命令 Update-Database –TargetMigration: AddBlogUrl 

You can rollback to any migration by using:

Update-Database -TargetMigration:"MigrationName"

If you want to rollback all migrations you can use:

Update-Database -TargetMigration:0

or equivalent:

Update-Database -TargetMigration:$InitialDatabase

原文地址:https://www.cnblogs.com/bleychen/p/7073211.html