实体框架(Entity Framework)简介
实体框架Entity Framework 是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术。是微软的一个ORM框架。
ORM知识补充:什么是O/R Mapping?
广义上,ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的相互转换。
狭义上,ORM可以被认为是,基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口。理想情况下,基于这样一个面向对象的接口,持久化一个OO对象应该不需要要了解任何关系型数据库存储数据的实现细节。
ORM三个字母分别代表如下图所示:
ORM IN EF
在EF中的实体数据模型(EDM)由以下三种模型和具有相应文件扩展名的映射文件进行定义。
- 概念架构定义语言文件
(.csdl) -- 定义概念模型。R - 存储架构定义语言文件
(.ssdl) -- 定义存储模型(又称逻辑模型O)。 - 映射规范语言文件
(.msl) -- 定义存储模型与概念模型之间的映射M。
实体框架 使用这些基于 XML 的模型和映射文件将对概念模型中的实体和关系的创建、读取、更新和删除操作转换为数据源中的等效操作。EDM 甚至支持将概念模型中的实体映射到数据源中的存储过程。
如下图所示的EDMX的定义:
EF中操作数据库的网关
ObjectContext封装 .NET Framework 和数据库之间的连接。此类用作“创建”、“读取”、“更新”和“删除”操作的网关。
ObjectContext 类为主类,用于与作为对象(这些对象为 EDM 中定义的实体类型的实例)的数据进行交互。
它封装了EF 到数据库的连接,封装了表对应的实体的集合,所以我们所有的操作都应该是针对于ObjectContext下的实体集合,修改实体集合后,通过调用ObjectContext的SaveChange方法将对实体集合的操作映射回数据库。当然ObjectContext通过我们上面EDMX的定义,也就是表、实体的关系的xml定义,通过集合的变化,生成对应的sql,并调用Ado.Net来实现对数据库的操作。
如下图所示:
当然上面只是一个简单的图,更为专业点的图应该是这样,如下图所示:
通过上面的介绍我们就基本上认识到了Entity Freamwork的基本的使用情况,当然是很浅显的。希望对初学者有帮助!欢迎高手拍砖指导!
链接导航: