原文地址:http://www.entityframeworktutorial.net/EntityFramework-Architecture.aspx

下面的图形,展示了EF的总体架构:

让我们来分别看看,每个组件都是啥吧:

EDM(Entity Data Model)【实体数据模型】:EDM(实体数据模型)包含三个主要的部分----概念模型,映射关系以及存储模型。

Conceptual Model 【概念模型】:概念模型包含模型类以及他们之间的关系。这个是和你的数据库表设计是独立开的。

Storage Model【 存储模型】:存储模型就是数据库设计模型,它包含数据表、视图、存储过程、还有表之间的关系以及键等。

Mapping 【映射】:映射包含概念模型怎么映射到存储模型的信息。

LINQ to Entities :LINQ to Entities是一种查询语言,用于编写针对对象模型的查询,它返回的实体类型是定义在概念模型中的那些实体。

Entity SQL :Entity SQL和LINQ t oEntities类似,是另外一种查询语言,它仅仅在EF 6中使用。Entity SQL比 LINQ to Entities要难点,开发者需要单独去学习它。

Object Service【对象服务】:对象服务是访问数据库中的数据并将其返回的主要入口点。它是一种将返回的数据从实体客户端数据提供程序到实体对象构造的过程。

Entity Client Data Provider:【实体客户端数据提供程序】:它主要的任务就是将LINQ to Entities或者 Entity SQL转化为数据库理解的SQL语句。它和ADO.NET数据提供程序通讯,向数据库传递数据或者从数据库取数据。

ADO.NET Data Provider【ADO.NET数据提供程序】:主要是使用标准的ADO.NET和数据库打交道。 

好了,EF的基础系列,第四篇就介绍完了。有不明白的可以留言,谢谢支持。

附录:

EF 6官方文档:  https://docs.microsoft.com/zh-cn/ef/ef6/

EF Core官方文档:https://docs.microsoft.com/zh-cn/ef/core/

最新文章

  1. 源码编译安装mysql
  2. Percona 开始尝试基于Ceph做上层感知的分布式 MySQL 集群,使用 Ceph 提供的快照,备份和 HA 功能来解决分布式数据库的底层存储问题
  3. Same Tree
  4. yii2数据修改|联查
  5. shell中实现自动登录(bash环境脚本中)
  6. .NET Json 解析到Dictionary,原生代码
  7. 使用Microsoft.ExceptionMessageBox.dll捕获WinForm程序中异常信息并弹窗显示
  8. LeetCode545.Boundary-of-Binary-Tree
  9. python学习记录-机器学习
  10. tomcat与iis公用80端口(已经发布.net项目现在开发Java项目时tomcat在eclipse中localhost:8080打不开问题)
  11. 金蝶开k3wise客户端访问中间层不时提示远程服务器不存在或不可用
  12. Linux之ls
  13. day2编程语言的两大分类
  14. Vue(一):简介和安装
  15. 【python】python GUI开发框架介绍
  16. appium API记录
  17. Could not resolve placeholder 'jdbc.url' in value "${jdbc.url}"
  18. vs2015安装ORACLE的DbFirst
  19. 什么是 GOF(四人帮,全拼 Gang of Four)?
  20. mysql delimiter 存储过程

热门文章

  1. 专访UI中国认证设计师卤大湿 | 一位UI大师关于UI设计的思考
  2. mysql cmd 无法登录
  3. jQuery Autocomplete 备忘录
  4. dfs序理解-hdu3887
  5. 34、iOS App图标和启动画面尺寸
  6. Linux 第三天
  7. 负载均衡下 tomcat session 共享
  8. boost--线程同步
  9. IntelliJ IDEA 2017版 spring-boot 2.0.5 邮件发送简单实例 (三)
  10. L1范式和L2范式