EF Code First 数据库模型迁移及自动迁移

1.今日完成任务

  • 实体模型的修改
  • 实体模型的更新

2.核心代码

  我们在应用程序开发过程中,难免会遇到数据库原本设计考虑不周或开发需求临时调整,而导致开发进度缓慢,甚至无法继续下去的致命性问题。解决此类问题的更有效地方式,就是根据需求的调整而调整数据库结构。虽然我们不推荐这么做,但对于没有很明确需求的我们,也是很难避免的!

数据迁移的几个常用命令:

  Enable-Migrations:启用数据库迁移,只要生成了Migrations文件夹下次执行就不需要这个命令了。
  Add-Migration: 生成修改数据库的脚本文件,命令格式Add-Migration+修改描述
  Update-Database :执行数据库更改
  Remove-Migration :移除最后一次生成的数据迁移文件,只能一次一条移除,不能指定移除某一个文件

自动迁移及手动迁移

  通过Enable-Migrations启用迁移后,VS会自动在项目里生成一个Migrations文件夹,这里存放的就是每次执行数据迁移的模型修改记录。手动迁移的话,需要显示调用Add-Migration命令,而且会自动在该文件夹下生成以时间戳+修改描述的.cs文件。如果不需要关心中间过程的话,我们也就不需要生成这些过程文件,这时候我们就可以通过配置来启用自动迁移啦!

  找到Migrations文件夹下的Configuration文件,在其构造函数里添加如下代码即可: 

 

 自动迁移:

(1)在创建的实体类中添加一个字段

(2)打开程序包管理器控制台

(3)在程序包管理器控制台输入enable-Migrations,在该项目下会自动生成Migrations文件夹

(4)打开Migrations文件夹下的Configuration.cs,并设置AutomaticMigrationsEnabled = true;

(5)在程序包管理器控制台输入Update-Database -script,查看更新数据库的脚本

(6)在程序包管理器控制台输入Update-Database,成功之后刷新数据库,该表中会增加一个字段

手动迁移:

(1)在创建的实体类中添加一个字段

(2)打开程序包管理器控制台

(3)在程序包管理器控制台输入enable-Migrations,在该项目下会自动生成Migrations文件夹

(4)打开Migrations文件夹下的Configuration.cs,并设置AutomaticMigrationsEnabled = false;

(5)在程序包管理器控制台指定脚本名称:Add_Migration脚本名称

(6)在程序包管理器控制台输入Update-Database -script,查看更新数据库的脚本

(7)在程序包管理器控制台输入Update-Database,成功之后刷新数据库,该表中会增加一个字段

4.项目进度规划

 

posted @ 2020-08-04 10:15  谢灿软件工作室  阅读(278)  评论(0编辑  收藏  举报