EF之宏观把控+框架解析

是什么
ADO.NET Entity Framework简称EF,是微软以ADO.NET为基础所发展出来的对象关系对应解决方案,是支持开发面向数据的软件应用程序技术,并且是一个ORM框架。
ADO.NET大家应该都熟悉,是.net平台对数据库进行操作的框架,我们之前操作数据库,都是利用的ADO.NET进行。往进一步说,我们会在sqlhelper类中配置sqlConnection管理连接,sqlCommand封装数据源的操作进行CURD,还有dataReader,dataAdapter对数据源进行读取。而EF框架直接将数据库表和实体进行映射(代表一种相互的关系,一个变另一个也变,没有方向区分),不再需要对代码进行大批量的改动。
EF最重要的功能在于跟踪实体的变化,然后根据映射关系,以及实体的变化生成相应的sql脚本,并执行到数据库表中。其中应用和核心是ORM思想。
ORM:object relationship mapping,即对象关系映射
ORM
ORM主要就是来实现实体变化到数据库表的变化。


框架解析
这里写图片描述
上述就是EF整个的框架图。我们从上头开始说。
1. 使用Linq to Entitles即linq语句,或者Entity SQL查询,实现对实体的操作。
2. 然后通过对象服务(就是Object Context上下文),之前所有的操作都会通向这里 。如果是vs2012生成EF模型时会自带context。如下图所示:
这里写图片描述
3. 然后上下文会给EntityClient数据提供程序,这个时候这个数据提供程序就会到EDM(实体数据模型)中,进行转换,转换成数据库能够识别的语言。
EDM:实体数据模型,主要由三部分组成,概念模型,映射,存储模型。概念模型当然就是模型及其关系,相当于实体。而存储模型其实就是数据库中的表、视图、存储过程之类的。映射就是对存储模型和概念模型之间的相互转换。
由于EF能够提供多种数据库语言,所以EDM可以进行多种数据库语言的解析。例如,我使用的是mysql数据库,那么EDM转换成的就是MySQL能够识别的语言。
4. 然后带着数据库能够识别的语言返回到EntityClient数据提供程序,最后到ADO.NET数据提供程序对数据库进行操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值