EF CodeFirst下的自动迁移

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

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

 

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值