Entity Framework 教程——EF体系结构

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

时间: 2024-08-07 00:18:55

Entity Framework 教程——EF体系结构的相关文章

Entity Framework教程(第二版)

源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,EF6.1已经发布很久,EF7马上就到来.那篇文章已经显得相当过时,这期间园子里出现了很多介绍EF4/5/6版本的精彩文章,我的工作中也没有在持续使用EF,本来也就不准备再写现在这篇文章了.后来看到之前那篇文章还是有很多朋友在评论里给予鼓励,再加上自己确实在使用新版EF的过程中也总结了一些心得,解决了

Entity Framework 教程——安装Entity Framework环境

安装Entity Framework环境 Entity Framework 5.0 API分布在两个地方,一个可在NuGet包管理器中找到,一个存在于.NET framework中..NET framework 4.0/4.5包含EF核心API,通过NuGet包管理器下载的EntityFramework.dll则包含EF5.0的特殊功能. 然而在EF6.0中只需从NuGet包管理器下载EntityFramework.dll,而不依赖于.NET framework. 该基础教程使用EF6.0版本编

[转]Entity Framework教程(第二版)

源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,EF6.1已经发布很久,EF7马上就到来.那篇文章已经显得相当过时,这期间园子里出现了很多介绍EF4/5/6版本的精彩文章,我的工作中也没有在持续使用EF,本来也就不准备再写现在这篇文章了.后来看到之前那篇文章还是有很多朋友在评论里给予鼓励,再加上自己确实在使用新版EF的过程中也总结了一些心得,解决了

Entity Framework 教程——Entity Framework中的实体类型

Entity Framework中的实体类型 : 在之前的章节中我们介绍过从已有的数据库中创建EDM,它包含数据库中每个表所对应的实体.在EF 5.0/6.0中,存在POCO 实体和动态代理实体两种. POCO Entity (Plain Old CLR Object): POCO类是不依赖任何框架的类型,如同其他正常的一般类型,我们称之为"Plain Old CLR Objects"(这里不知道怎么翻译,普通的CLR对象?古老的CLR对象?大概意思就是没有什么特殊的对象吧). POC

Entity Framework 教程——概述

Entity Framework 基础 本教材将手把手教你使用entity framework,我们将使用entity framework 6.0和visual studio 2012. 以下表格是entity framework的各个重大版本 版本 功能 EF 3.5 提供database first功能 EF 4.0 POCO( Plain Old CLR Object / POCO )支持,延迟加载,可测试性改进.可自定义代码生成和 Model First 工作流. EF 4.1 在Nug

Entity Framework 教程——什么是Entity Framework

什么是Entity Framework 编写和管理ADO.NET是一个繁琐而又无聊的工作.微软为你的应用提供了一个名为"Entity Framework"的ORM框架来自动化管理你的数据库. 微软对Entity Framework给出了以下定义: EF是一个对象关系映射(ORM)框架,它能使开发人员用关系型数据定义特定领域的对象,并且开发人员不再需要编写大量的数据库访问代码.使用Entity Framework,开发人员用Linq帮助他们进行查询,检索出的数据自动生成强类型对象.EF提

安装Entity Framework(EF基础系列篇4)

Entity Framework 5.0 API是分布在两个地方:NuGet和.NET Framework中,这个.NET framework 4.0/4.5包含EF核心的API,然而通过NuGet包获取的EntityFramework.dll包含EF 5.0特别的特性:EF6.0中不是分开的: 在这个基础的系列课程中,我将会使用EF 6.0,这个最新的EF版本来学习, 学习EF,首先要安装下面的工具: .NET Framework 4.5 Visual Studio 2012/2013/201

Entity Framework 教程——模型浏览器

模型浏览器: 在之前的章节中,我们创建了第一个关于学校的实体数据模型.但是EDM设计器并没有将他所创建的所有对象完全显示出来.它只将数据库中的被选择的表与视图显示出来了. 模型浏览器可以将EDM所创建的所有对象和函数的信息都显示出来.右键EDM设计器并在菜单中选择模型浏览器即可打开. 模型浏览器包含EDM的所有信息,如概念模型,存储模型,映射关系都在其中. 如上图所示,模型浏览器包含以下对象: Diagrams: 模型浏览器包含EDM的可视化关系图.我们可以看到EDM默认会创建一个关系图.当然,

Entity Framework 教程——DBContext

DBContext: 在之前的章节<创建实体数据模型>中,EDM为我们创建了SchoolDBEntities 类,它派生子System.Data.Entity.DbContext这个类,这个DbContext在EF中被称作上下文类. 在EF4.1之前,EDM生成的上下文类是派生自ObjectContext这个类的.它有点难于使用.DbContext 在概念上类似于ObjectContext.DbContext 只是对ObjectContext 进行了封装使其更容易在所有开发场景中使用.(如Co