原文地址: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/

4.翻译:EF基础系列--EF架构的更多相关文章

  1. 10.翻译:EF基础系列---EF中的持久性

    原文链接:http://www.entityframeworktutorial.net/EntityFramework4.3/persistence-in-entity-framework.aspx ...

  2. 3.翻译:EF基础系列--EF怎么工作的?

    原文链接:http://www.entityframeworktutorial.net/basics/how-entity-framework-works.aspx 这里,你将会大概了解到EF是怎么工 ...

  3. 8.翻译:EF基础系列----EF中实体的状态

    原文链接:http://www.entityframeworktutorial.net/basics/entity-states.aspx 在实体的生命周期中,EF API维护着每一个实体的状态,对于 ...

  4. 7.翻译:EF基础系列---EF中的实体类型

    原文地址:http://www.entityframeworktutorial.net/Types-of-Entities.aspx 在Entity Framework中有两种实体类型:一种是POCO ...

  5. 5.翻译:EF基础系列---EF中的上下文类

    原文地址:http://www.entityframeworktutorial.net/basics/context-class-in-entity-framework.aspx EF中的上下文类是一 ...

  6. 1.翻译:EF基础系列--什么是Entity Framework?

    大家好,好久不见,EF系列之前落下了,还是打算重新整理一下. 先说说目前的打算:先简单了解一下EF基础系列-->然后就是EF 6 Code-First系列-->接着就是EF 6 DB-Fi ...

  7. 【Basics of Entity Framework】【EF基础系列1】

    EF自己包括看视频,看MSDN零零散散的学了一点皮毛,这次打算系统学习一下EF.我将会使用VS2012来学习这个EF基础系列. 现在看看EF的历史吧: EF版本 相关版本特性介绍 EF3.5 基于数据 ...

  8. 9.翻译:EF基础系列---使用EF开发的方式有哪些?

    原文链接:http://www.entityframeworktutorial.net/choosing-development-approach-with-entity-framework.aspx ...

  9. 6.翻译:EF基础系列---什么是EF中的实体?

    原文地址:http://www.entityframeworktutorial.net/basics/what-is-entity-in-entityframework.aspx EF中的实体就是继承 ...

随机推荐

  1. tomcat+servlet例子

    在C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\app\WEB-INF文件夹下建立文件夹classes. 在C:\Pro ...

  2. TensorFlow安装时错误CondaValueError: prefix already exists: G:\softs\Anaconda\envs\tensorflow

    TensorFlow安装时,TensorFlow环境已经调好了,就是下面的第(3)步, 可我自己偏偏选了个Python3.7,因为检测到自己的Python最新版本为3.7,就手贱安了TensorFlo ...

  3. 【Game】2048小游戏

    每个男孩都有一个游戏梦吧,本例简单讲述一款很火的游戏<2048>的制作. 本例参考地址:https://www.imooc.com/learn/76 游戏准备 1.游戏的逻辑(2048大家 ...

  4. NOIP水题测试(2017082401)

    哈,水题测试又来了! 上次的水题简单吧! 答案是以单题形式发布的(旅行家的预算随后发布). 下面来看今天的题,还是水题. 时间限制:5小时 题目一:看上去就很水 题目二:比上面一题还水 题目三:数的划 ...

  5. 类似 QQ 音乐底部常驻播放栏(AVQueuePlayer)

    一开始搞了个基类,但是这样所有类都要继承它才可以.后来考虑把他加到 window 上.但是在 appdelegate 中没有办法可以加到上面,最后在 keyWindow 的rootViewContro ...

  6. canvas 实现太阳系效果

    一:创建画布 <canvas width="1000" height="1000" id="solar" style="ba ...

  7. 2018.12.08 codeforces 939E. Maximize!(二分答案)

    传送门 二分答案好题. 题意简述:要求支持动态在一个数列队尾加入一个新的数(保证数列单增),查询所有子数列的 最大值减平均值 的最大值. 然而网上一堆高人是用三分做的. 我们先考虑当前的答案有可能由什 ...

  8. vue 开发系列(二) vue ajax 拦截

    概要说明 在开发的过程中,我们需要通过AJAX请求,访问后台获取数据,这个获取数据的时候,当然需要后台需要时登录状态才能访问数据,当没有登录的情况,这个时候我们需要跳转到登录界面进行登录. 如果每次请 ...

  9. Le Chapitre VIII

    J'appris bien vite à mieux connaître cette fleur. Il y avait toujours eu, sur la planète du petit pr ...

  10. mybatis LIKE

    <sql id="selectId"> `ID` AS id, `NAME` AS name, `DESCRIPTION` AS description, `TYPE` ...