Entity Framework体系架构
下图显示了Entity Framework的总体架构。
让我们分别看看体系结构的各个组件。
EDM (Entity Data Model)(EDM(实体数据模型)):EDM由三个主要部分组成:概念模型、映射模型和存储模型。
Conceptual Model(概念模型):概念模型包含模型类及其关系。这将独立于您的数据库表设计。
Storage Model(存储模型):存储模型是数据库设计模型,包括表、视图、存储过程以及它们之间的关系和键。
Mapping(映射):映射由关于如何将概念模型映射到存储模型的信息组成。
LINQ to Entities:LINQ-to-Entities(L2E)是一种查询语言,用于编写针对对象模型的查询。它返回在概念模型中定义的实体。你可以在这里使用你的LINQ技能。
Entity SQL:Entity SQL是另一种查询语言(仅适用于EF 6),就像LINQ to Entities一样。但是,它比L2E稍微难一点,开发人员必须单独学习它。
Object Service(对象服务):对象服务是从数据库中访问数据并返回数据的主要入口点。对象服务负责物化,这是将从entity client data provider(下一层)返回的数据转换为实体对象结构的过程。
Entity Client Data Provider(实体客户端数据提供者):这一层的主要职责是将LINQ-to-Entities或实体SQL查询转换为底层数据库可以理解的SQL查询。它与ADO.Net data provider通讯,然后从数据库中发送或检索数据。
ADO.Net Data Provider:该层使用标准ADO.Net与数据库通信。
参考
- https://www.entityframeworktutorial.net/
- https://msdn.microsoft.com/