zl程序教程

您现在的位置是:首页 >  其他

当前栏目

EF 数据迁移

2023-09-11 14:22:28 时间

原文:https://www.cnblogs.com/xuhongcai/p/6884947.html

 

数据迁移:

 

  1、打开程序包管理控制台

    工具=》NuGet 包管理器=》程序包管理器控制台  

 

  2、在程序包管理器控制台,执行语句。

    初始化:

    1、Enable-Migrations -EnableAutomaticMigrations
    2、Add-Migration InitialCreate
    3、Update-Database -Verbose

 

    更新数据库:

    1、Add-Migration ChangeTable
    2、Update-Database -Verbose

 

    回滚到空数据库:

    Update-Database –TargetMigration: $InitialDatabase

 

 

生成迁移脚本:Update-DataBase –script

 

迁移命令:Add-Migration add_Person

 

数据迁移注意一下启动项目

 

数据库已存在,只是新增了几个字段,目前是没有初始化数据库迁移这些的情况:

  1、初始化数据迁移

    命令: (1)、Enable-Migrations -EnableAutomaticMigrations

        (2)、Add-Migration InitialCreate

  2、在目录Migrations中 会生成的文件 201901230316301_ChangeTable.cs

    把 Up() 和 Down() 的方法体删除掉,只留个空方法

  3、查看数据库是否有 __MigrationHistory 这个表,有的话 就把表删除

  4、执行数据库迁移命令

    命令:Update-Database -Verbose

  5、如果在第4步出现错误

    如Error:名称已被一现有约束条件占用, 或者  名称已由现有对象使用

    那就执行命令,查看生成的SQL语句,然后再找错误的原因。

    命令:Update-DataBase –script

 

 

   

 

 

常用命令:

  原文地址:https://www.cnblogs.com/fighting2014/p/4153297.html

      1.Enable-Migrations (创建迁移目录:Migrations,如果有多个数据上下文可以用 -ContextTypeName  命令迁移对应的数据上下文 )

      2.Add-Migration (创建一个迁移文件)

      3.update-database(启动迁移,生成数据库)

      4.install-package entityframework(初始化配置包)

      5. Update-Database -Script -SourceMigration:"  " -TargetMigration:" " (生成数据库版本之间的Sql脚本,正式区换版时有用)

      6.Update-Database –TargetMigration:"  "  (进行数据库版本回溯)

      7.Update-Database –TargetMigration: $InitialDatabase -Script (回到初始状态)