星空网 > 软件开发 > ASP.net

EF架构~CodeFirst数据迁移与防数据库删除

回到目录

本文介绍两个概念,防数据库自动删除,这是由于在code first模式下,当数据实体发生变化时,会对原来数据库进行删除,并将新数据表添加进来,但这对于我们的运营环境数据库,是万万不能接受的,第二个问题是数据迁移问题,当你有新的实体建立后,如何响应到数据库,这成为一个问题,当然实现也很简单,我们直接使用migrations工具即可.

一 防数据库删除

将你的业务DbInitializer的基类改成CreateDatabaseIfNotExists即可解决这个问题,这是在数据初始化时需要做的事,一般地,我们会选择当实体有变化时,自动更新数据库,但这样做影响比较大,所以我们不提倡使用.

 public class ManagerInitializer : CreateDatabaseIfNotExists<ManagerContext>  {    protected override void Seed(ManagerContext context)
{     //初始化代码 } }

二 数据迁移

这个问题也是必须要解决的,我们的实体添加后,数据库并没有对应的表,我们就需要使用migrations命令来对数据库进行更新,具体操作如下

1 开启migrations功能

enable-migrations -force

2 更新数据库

update-database

3 程序运行成功后,如图

EF架构~CodeFirst数据迁移与防数据库删除

这时你查看自己的数据库,新加的实体已经自动添加到数据库了,呵呵.

EF架构~CodeFirst数据迁移与防数据库删除

值得注意的是,通过这种方法进行数据库迁移,数据库的原数据是不会丢失的,即使你在原来的表上添加字段,老数据也不会丢,新字段会有默认值.

对于EF7来说,它只支持Code First模式,所以这种模式在dotnet框架里将会成为主流!

回到目录




原标题:EF架构~CodeFirst数据迁移与防数据库删除

关键词:数据库

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

2020亚马逊卖家求生必备指南!:https://www.ikjzd.com/articles/113586
写给跨境电商财务的一封信...:https://www.ikjzd.com/articles/113587
跨境电商营销人的绩效该如何考核?:https://www.ikjzd.com/articles/113588
亚马逊账户需要提供营业执照公证的相关问题详解!:https://www.ikjzd.com/articles/113589
黑五畅卖全球,十大跨境电商营销姿势学起来!:https://www.ikjzd.com/articles/11359
新年放送:亚马逊2020年新规大全!:https://www.ikjzd.com/articles/113590
皇帝的皇宫=:https://www.vstour.cn/a/363188.html
海南岛琼海市旅游景点 琼海市的旅游景点:https://www.vstour.cn/a/363189.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流