18、认识EF_1、EF介绍

ORM

ORM (实体关系模型)
O: Domain Object 领域模型
R: Relational Database 关系型数据库
M: Mapping 映射关系

EntityFramework也是其中一种orm框架

参考资料:

http://www.entityframeworktutorial.net/

EDM 是一个可视化的工具,用来生成 O,R,M

image

EF框架结构说明:

上图右边是EF框架

<1> 两种语法查询db: Linq to Entities Entity SQL

<2> ObjectServices: 在linq to Entity 和 Entity client Data Provider之间起到相互转换的作用。

<3> Entity client Data Provider: 将Lambda转化为具体的sql语句(实际上是拼接表达式树然后将表达式树转为sql)。
(SqlProvierService) => EntityFramework.SqlServer这个dll所包含。

<4> ADO.net Data Provider : 最简单的一个ADO.Net。也就是EF帮我们操作ADO.NET。EF底层也是操作ADO.NET。

<5> DataBase: 数据库本身。

EDM框架结构说明:

上图左边是EDM框架,EDM框架主要是DBFirst模式创建数据库会用到。用来映射数据库中的表到项目中生成一个个实体。而且帮我们创建上下文对象等。DBFirst模式用处还是挺大。不过CodeFirst模式创建EF则一点都用不到,因为自己已经建立好实体和上下文对象了。只需要一个EF工具将实体映射创建到数据库即可。


DBFirst创建EF框架步骤

1、nugut包下载EF框架

DBFrist模式在新建ADO.NET实体模型的时候会自动引用EF框架。所以这一步也可以不用下载,不过CodeFirst则必须要。但是CodeFirst也可以通过创建一个EDM,然后复制EF框架的dll文件,然后删除掉EDM这种方法得到EF框架。因为有时候nuget包或者nuget控制台因为网络原因下载不了EF框架。

image

安装后会自动生成这几个引用和这个包描述文件
image

Entity client Data Provider的具体dll
image

当然:创建好EF框架引用后,还需要创建上下文对象,数据库表实体等等,如果是DBFirst模式,直接创建EDM即可自动帮我们创建好数据库表的实体。

2、创建EDM

创建EDM可以帮我们生成上下文对象,模型设计器、数据库的表的实体等,当然,EDM这个可视化工具不是必须的,比如使用codeFirst创建EF,就可以自己创建上下文对象类,只要继承DBContext类即可,再建立实体,然后直接映射实体创建到数据库(数据库迁移或者是EF映射工具)即可。codeFirst创建EF框架,不需要EDM。EDM的表格图示化界面每次打开还非常卡。

项目右键->添加->新建项
image

2.1
image

2.2
image

2.3
image

2.4
image

2.5
弹窗都点是,不要勾选不再显示此消息
image

2.6
EDM创建完成
image

EDM结构:
image

posted @ 2022-06-29 22:05  青仙  阅读(246)  评论(0编辑  收藏  举报