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

时间:2023-12-14 21:27:56

一、为当前实体模型启用数据迁移

基础搭建好了,也就是原有的数据库有了,原有数据库的实体对象也有了,但生成的上下文中并没有标记当前数据库是否已经存在,当前实体是否修改过(以前版本好像有标记的),所以,要首先启用迁移。

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

启用迁移后会自动生成新的文件夹和类,了解即可

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

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

系统自动添加的文件

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

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

系统在数据库中新生成了个表

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

至此,迁移准备工作结束,经过一段时间的适应,别人的孩子是不是看起来也像自己的一样了?

二、为Blog实体对象添加软删除列

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

三、尝试重新运行

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

因数据库表Blogs中没有IsDelete字段,所以报错

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

四、重新迁移

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

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

表Blogs中有了IsDelete列

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

表中数据依旧,还添加了默认值,这个默认值是我们在Blog构造函数中添加的吗?一会试验下

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

以后再修改,只要重复上面两个步骤就行了,其中前面的名字改成新的。

不会用客户端编辑网站的文档,只能新建一篇了。