博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据迁移
阅读量:4707 次
发布时间:2019-06-10

本文共 855 字,大约阅读时间需要 2 分钟。

   在使用ef的时候我们经常会用到数据迁移功能,这是必不可少的。

(Code First模式)

1:Enable-Migrations

    这是根据连接字符串来检查数据库中是否有数据库,若是没有,则新建一个数据库。并且发现生成如下文件。

这是生成的配置文件里面有一个类,这个类里面有两个方法:一个无参构造函数 一个seed方法。

这里刚开始的时候是false,但是我们要进行数据迁移的时候要将其设置为true。这样我们就可以手动的更新了。

seed方法我们观察里面的代码被注释掉了,这是它在迁移成功之后才去执行,用于初始化数据库里面的内容。

2:Update-database –force

    这句是我们经常使用的,就是我们修改了模型之后,我们要同步到数据库中,就使用这句,但是我们老大说这句可以存在数据的丢失。(不清楚)

之所以添加后面的-force是因为我们的数据库可能里面保存了数据,这样添加的时候就保存原先的数据,只是将我们修改的模型修改过来就行了。

3:Update-database –script

   将上一句后面的参数换掉,这样就只是将我们修改的模型单独的生成了SQL代码,但是数据库里面的模型是不会改变的,我们需要将生成的代码在DB中跑一遍就行了。老大说这样就避免了数据的丢失。比起-force强很多,但是我觉得是一样的。可能是因为我没有遇到这样的情况吧。

4:当我们生成数据库的时候会发现表中多了一个表MigrationHistory.

   我们打开这个表发现它里面的字段如下。

里面保存的就是我们修改模型的记录。

我们在使用EF的时候有可能会出现迁移不成功,就是按照正常的方式来做的,为什么呢。关于这个我也没办法解决,但是下面几个办法可以试一下。

1:若是我们自己下面练习dome就可以将数据库删除,重新进行迁移,这样就可以解决很多的问题。

2:删除掉自动生成的Migration表,让其重新生成。

转载于:https://www.cnblogs.com/netxiaohui/p/5096834.html

你可能感兴趣的文章
冲刺第十九天
查看>>
Appium环境的安装以及一路上的坑
查看>>
【原创】红客闯关游戏部分题解
查看>>
zookeeper在集群负载均衡中的应用
查看>>
移动架构之MVP框架
查看>>
css “裁剪”图片(显示图片的一部分)
查看>>
layui框架学习记录
查看>>
C/C++知识要点4——printf函数以及cout的计算顺序
查看>>
UVA225 Golygons 黄金图形(dfs+回溯)
查看>>
2002-2003 ACM-ICPC Northeastern European Regional Contest (NEERC 02) A Amusing Numbers (数学)
查看>>
docker-compose部署mongodb+redis遇到的问题
查看>>
react 什么是虚拟DOM?深入了解虚拟DOM
查看>>
Service Worker 缓存文件处理
查看>>
科三——灯光操作
查看>>
jQuery模糊选择
查看>>
【转载】C#生成图片的缩略图
查看>>
css哪些属性可以继承
查看>>
查看占用某端口的程序及PID号
查看>>
js正则表达式的基本语法
查看>>
Chrome 插件编写日记
查看>>