当我们修改数据模型,添加一个如下字段

再次运行程序,会因为数据库结构与模型不一致而报错

为解决以上错误可以采取以下三种方式

1、  删除数据库,重新运行站点,会重新生成数据库,这样就会丢失数据

2、  手动在数据库中修改表结构,使其与模型一致

3、  使用如下教程所示的EF的数据迁移【Code First Migrations】

在NuGet程序包管理器中执行如下命令启用EF的数据迁移

此时会生成一下两个文件

其中【201504030707151_InitialCreate】是根据存在的数据库文件生成的,建表的代码,如下

【Configuration】是自动迁移的配置类,Seed方法中可以进行一些数据的初始化,如下

然后,我们继续在程序包管理器控制台执行以下命令,生成数据库改动相关的代码,Initial为自动将要生成的类的名称,可以自定义,但是要避免与其他类型重复,否则会报错

如下生成了一个【201504030712220_Initial】文件

查看代码可以看到我们添加了一个Description字段:

最后我们在程序包管理器的控制台中执行如下命令,将所有变动写入数据库

此时,再次运行站点,可以发现网站已经可以正常访问,Description字段已经成功添加进数据库中。

转载于:https://www.cnblogs.com/mstmdev/p/5471269.html

EF CodeFirst下的自动迁移相关推荐

  1. EF CodeFirst下,当实体结构发生修改怎么更新数据库结构

    在使用EF的实际编程中我们经常遇到这样的问题:发现实体结构需要新增加一个字段,或者减少一个字段,急需把实体结构修改,并让数据库更新这种修改.在用Model First或者Database First的 ...

  2. EF CodeFirst 如何通过配置自动创建数据库当模型改变时

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    本篇为进阶篇,也是弥补自己之前没搞明白的地方,惭愧 ...

  3. 了解EF CodeFirst的Migrator功能与Migrator.Net对比

    在上一篇[数据库迁移利器:Migrator.Net]中,很多朋友提到了EF的CodeFirst也有数据库的迁移功能,说来真惭愧,玩了那么多年,至今还未去了解EF,今天来了解下CodeFirst然后与M ...

  4. EF CodeFirst 必须要解决的问题

    Entity Framework有三种模式:Model First.DB First和 CodeFirst,这里只谈CodeFirst.实际项目中如果采用了CodeFirst,那么必定会碰见下面这些问 ...

  5. 新年奉献MVC+EF(CodeFirst)+Easyui医药MIS系统

    本人闲来无事就把以前用Asp.net做过的一个医药管理信息系统用mvc,ef ,easyui重新做了一下,业务逻辑简化了许多,旨在加深对mvc,ef(codefirst),easyui,AutoMap ...

  6. MVC3教程之实体模型和EF CodeFirst

    在本节中,我们将使用Entity Framework 数据访问技术来定义这些模型类,并对这些类来进行操作.EF支持一个被称之为"code-first"的开发范例.Code-firs ...

  7. Thorntail 2.2.0提供从WildFly Swarm自动迁移的特性

    自6月底宣布把WildFly Swarm2018.5.0改名为Thorntail2.0.0以来,Red Hat在8月中旬以后的三个周里发布了Thorntail 2.1.0版本和2.2.0版本.除了许多 ...

  8. kubernetes要实现的目标——随机关掉一台机器,看你的服务能否正常;减少的应用实例能否自动迁移并恢复到其他节点;服务能否随着流量进行自动伸缩...

    Kubernetes 是来自 Google 云平台的开源容器集群管理系统.基于 Docker 构建一个容器的调度服务.该系统可以自动在一个容器集群中选择一个工作容器供使用.其核心概念是 Contain ...

  9. 不同场景下MySQL的迁移方案

    文章目录 不同场景下MySQL的迁移方案 一 .为什么要迁移 生产环境中,有以下情况需要做迁移工作,如下: 二.MySQL 迁移方案概览 三.MySQL 迁移实战 3.1. 场景一:一主一从结构迁移从 ...

最新文章

  1. LeetCode简单题之最长和谐子序列
  2. squid,nginx,lighttpd反向代理的区别
  3. 怎么改变github的用户名字,身份?
  4. angular6的响应式表单
  5. C语言实用算法系列之学生管理系统_单向链表外排序_堆内数组存储链表节点指针_函数指针+switch
  6. 用python怎么下载_如何使用python下载视频
  7. 项目“”受源代码管理,向源代码管理注册此项目时出错。。
  8. Python快速获取已知城市坐标的距离矩阵
  9. 电容或电感的电压_电容与电感的对偶性小结
  10. mysql查询时间监控_监控长时间运行的查询(监控数据库性能的SQL )
  11. WYSE POCKETCLOUD手把手教你如何用手机遥控你的电脑!!(转)
  12. 你离运营只差一个打卡签到功能 早晚安打卡 小来早晚安打卡 功能一样 是一个唯一用户主动去分享的功能
  13. 计算机英语派生词和复合词,英语派生词归纳
  14. H3C设备网吧万兆光模块解决方案
  15. 使用idea解决包依赖冲突的问题SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory
  16. Stochastic Variance Reduced Ensemble Adversarial Attack for Boosting the Adversarial Transferability
  17. 【CSS】常见选择器用法
  18. js原生写图片轮播和切换
  19. (语法糖)ES6类class声明类的方式 -ES5类声明继承
  20. 深入浅出IOC和DI---学习记录

热门文章

  1. 主机消息服务器在哪找,怎么找电脑服务器主机地址吗
  2. eclipse调试java web_eclipse调试web项目
  3. 高中会考access数据库_高中信息技术ACCESS数据库上机操作复习课教案
  4. 海南计算机考研和培训哪个比较好,海南考研集训营前十排名
  5. python中avg函数的使用_SQL AVG()
  6. C语言学习笔记---fgets()函数和fputs()函数
  7. iptraf:一个实用的TCP/UDP网络监控工具
  8. 淘宝开源Key/Value结构数据存储系统Tair技术剖析
  9. pytorch手动安装开发包
  10. Spring Cloud F Spring Boot 2.0 版本升级说明书