EF体系结构

下图是一张EF体系结构的全景图,让我们单独了解各个组件的用处。

EDM (Entity Data Model):

EDM由3个主要部分组成,概念模块(Conceptual Model),映射(Mapping),存储模块(Storage Model)。

Conceptual Model:

概念模型包含模型类还有他们之间的关系,它不受数据库设计的影响。

Storage Model:

存储模型代表数据库的设计,包括表、视图、存储过程、表间关系及主外键。

Mapping:

映射是指将概念模型转化为存储模型的一些信息。

LINQ to Entities:

LINQ to Entities是实体的查询语言,用于编写查询对象模型。它可以用于返回你所定义的概念模型。这里使用到一些LINQ相关的技术。

Entity SQL:

Entity SQL是另外一种类似于LINQ to Entities的查询语言,然而,它比LINQ to Entities稍微难一点,开发人员需要另外学习。

Object Service:

Object service是访问数据库的主要入口,并且返回访问的数据。它主要负责一些具体的事情,例如从entity client data provider(它的下一层)中获取数据并将其转换成实体对象。

Entity Client Data Provider:

这一层主要的职责是将LINQ to Entities或Entity SQL提供的查询转换成具体数据库可以理解执行的查询。它使用ADO.NET data provider与数据库进行通信。

ADO.Net Data Provider:

这一层使用标准的ADO.NET与数据库通信。