EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

时间:2022-01-14 01:54:29

本来原来学的时候,挺顺利的,没想到再次使用,还是遇到很多问题,导致更新失败,所以,只能重建迁移,免得看着乱乱的。

一、删除迁移,将数据恢复到(一)结束状态

1、删除文件夹

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

2、删除表

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

3、删除列

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

4、注释掉新添加的属性

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

二,重新操作  EF6 在原有数据库中使用 CodeFirst 总复习(二、新的需求,简单修改原有表)

其中,将Blog实体修改为

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

三、操作结果

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

IsDelete  默认值与  Blog实体构造函数中的  IsDelete = true; 无关。

新建字段是bool类型,系统默认不允许为空,所以,就赋给了默认值  false  (0)

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

同理,数值类型字段新增后,也应该赋值为  0  。

四、将构造函数改回

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

因与数据库无关,无需迁移。

五、现在数据库表Blogs中有了Isdelete字段,与实体对象一致,再运行一下前面生成的界面

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

 

如果不进行删除操作,一切正常。

六、将删除修改软删除

原代码

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

修改为:

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

七、重新运行系统,添加一条新记录

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

数据库中的表

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

八、删除新建的记录

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

数据库中的表

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

页面显示列表

EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)