zoukankan      html  css  js  c++  java
  • 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
    
    
  • 相关阅读:
    is(C# 参考)
    索引器(C# 编程指南)
    修改IIS文件上传大小限制
    Sql Server判断某列字段是否为空或判断某列字段长度
    Linq分页查询
    H5网页播放器播不了服务器上的mp4视频文件
    [你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理
    如何通过ildasm/ilasm修改assembly的IL代码
    Python实战之set学习笔记及简单练习
    Python实战之int学习笔记及简单练习
  • 原文地址:https://www.cnblogs.com/bleychen/p/7073211.html
Copyright © 2011-2022 走看看