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与数据库通信。