目录
EF简介
ORM的概念
对象关系映射Object Relation Mapping ,通俗说:用操作对象的方式来操作数据库。是一种程序技术,用于实现面向对象编程语言里不同类型关系数据之间的转换,从效果上说,它其实是创造了一个可在编程语言中使用的“虚拟对象数据库”
关于使用服务端语言操作数据库-ADO.NET技术,ADO.NET技术学习程序分层时学习过Model层,而这里的模型层指的是在服务端编程语言中用来映射数据库中数据模型的一个对象映射。
而在ORM技术而言,可以理解为ORM主要是为了更方便快速的实现ADO.NET技术
ORM技术的优势
-
首先在学习编程中,最终都要学习的是访问数据库,而在C#语言中使用C#语言访问数据库技术是微软提供的ADO.NET技术
-
因此在做程序编程时,只要有关数据库的操作,我们总结出来一套经验:先写DBHelper,然后创建目标数据库中的数据对象模型,这个步骤很麻烦,但是又不得不写
-
实现更加方便快捷的开发,方便数据库移植
.NET中的ORM框架
-
NHibernate
-
MyBatis.NET
-
LinQ to SQL(已经不使用)
-
ADO.NET Entity Framework
EF的本质
EF底层仍然是对ADO.Net的封装。EF支持SQLServer、MYSQL、Oracle、Sqlite等所有主流数据库。
Object Services
它是Entity Framework提供的一系列操作业务对象的API。这些API都依赖Entity Client实现对数据库的访问
EDM实体数据模型
-
作用:将关系数据库模型映射为实体数据模型,由三部分组成,存放在一个扩展名为.edmx的XML文件中
-
SSDL:负责与数据库中的数据表做实体对应(就是将数据库中数据表结构和关系用XML文件描述)
-
MSL:将存储模型中的字段和概念模型中的属性对应
-
CSDL:概念模型对应的实体类,用实体类表示数据库中的对象
Entity Client实体代理
-
概念:Entity Framework实现了一套类似于ADO.NET中的数据库操作类,这些操作类称之为Entity Client
-
作用:用来操作EMD实体数据模型
ADO.NET Provider
-
作用:翻译成SQL语句,用来访问数据库
-
说明:Entity Framework是ADO.NET的一个技术子集
Entity Client和ADO.NET
-
ADO.NET的连接类是向数据库发送SQL命令操作表或试图,Entity Client是向EDM发送Entity SQL
- <