1、关于EF的两种CodeFirst
,有两个可以选择,下图中的最后两个:
这两者是殊途同归,是一样的。
1.【空CodeFirst模型】
就是新建一个空的模型,然后自己写实体类代码,根据这些实体类代码来生成数据库,生成数据库了之后,就与【来自数据库的CodeFirst】是一样的。
2.【来自数据库的CodeFirst】
就是根据从数据库中选择的一些表/视图来生成实体类代码,这些自动生成的代码和你自己手写是一样一样的,也就是与【空CodeFirst模型+手写实体类代码】是一样的。
第四种来自数据库的CodeFirst
模式相当于DBFirst
模式的轻量级版本,在该模式中取消了edmx
模型和T4
模板,直接生成了EF上下文和相应的类,该模式出现在VS2015版本以后。
如果是先设计数据来进行开发,直接使用第一种模式,对于后期更为方便,比如如果直接增删改了数据库中的字段,可以方便的更新到项目中,但如果使用第四种模式,项目中就不太好修改。
参考:https://www.cnblogs.com/zhouyou96/p/7284403.html
2、关于EF的创建及使用可以参考:
初探EntityFramework——来自数据库的EF设计器
初探EntityFramework——来自数据库的Code First
3、使用来自数据库的EF设计器时,修改了数据库的字段,如何更新到项目的实体中:
1.先进入EF项目的.edmx
文件,找到对应要更新的表的实体,选择从模型中删除,将该实体表删除。
2.在.edmx
文件视图的空白处选择从数据库中更新模型,选择添加,勾选对应的表,点击完成。
3.重新生成解决方案即可,此时模型与实体类都已更新。