灵动思绪ef(entity framework)

灵动思绪ef(entity framework)

ID:11532328

大小:522.09 KB

页数:15页

时间:2018-07-12

灵动思绪ef(entity framework)_第1页
灵动思绪ef(entity framework)_第2页
灵动思绪ef(entity framework)_第3页
灵动思绪ef(entity framework)_第4页
灵动思绪ef(entity framework)_第5页
资源描述:

《灵动思绪ef(entity framework)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、灵动思绪EF(EntityFrameWork)很久之前就想写这篇文章了,但是由于种种原因,没有将自己学习的EF知识整理成一片文章。今天我就用CodeFirst和ModelFirst两种方式的简单案例将自己学习的EF知识做个总结。在讲解EF之前,我们先来看下ORMORM全称:(Object-Relation Mapping)即对象-关系映射。ORM是将关系数据库中的业务数据用对象的形式表现出来,并通过面向对象的方式将这些对象组织起来,实现系统业务逻辑的过程。ORM简介: ORM产生背景:1.操作数据库代码的重复性在ORM之前我们知道通过ADO.NET可以访问数据库。或者更进一步,学过三层架构的开

2、发人员,知道可以将通过ADO.NET对数据库的操作提取到一个单独的类SqlHelper中,然后在DAL层调用SqlHelper类的方法实现对数据库的操作。即使你这样做了,在数据访问层(DAL)层,还是要写大量的代码,而且我们都知道对数据库的访问无非增、删、改、查四种操作,那么我们很容易想到我们做了大量的重复性工作。只是因为操作的表不同,我们可能需要花费大量的时间编写针对该表的增删改查语句,那么有没有一种方式能自动生成这些语句呢?这样的话,我们就可以吧主要的精力或者更多的时间投入到特殊业务的处理上。2,大量SQL语句影响程序的扩展性和灵活性。  我们知道之前我们编写的程序和数据库之间的耦合性很紧

3、密,如果我们操作的是SQLServer数据库,我们就需要引入对应的类库(SqlConnection等),这样如果需要更换数据库,那么,数据访问层的代码就需要重新书写。ORM含义: 通过该图,我们可以看出,O对应程序中的类Customer,就是对象,我们知道R含义为Relation,对应数据当中的关系表;M表示程序中对象和数据库中关系表的映射关系。Mapping实际上是一个XML文件接着我们再来看下面这张图通过该图,我们可以看出业务实体,在数据库中表现为关系数据,而在内存中表现为对象。应用程序处理对象很容易,但是很难处理关系数据。ORM做到了关系数据和对象数据之间的映射,ORM可以通过映射关系自

4、动产生SQL语句,ORM在业务逻辑层和数据层之间充当桥梁。ORM核心原则:1,简单性2,传达性3,精确性ORM优点:1, 面向对象不用编码,就可以向操作对象一样操作数据库2, 提高开发效率ORM可以自动对实体对象与数据库中表进行字段与属性的映射,不需要单独的数据访问层就可以对数据进行增删改查。3, 方便转移数据库当数据库发生改变时,不需要对模型进行改动,只需要修改映射关系就可以了。ORM缺点:1, 不够灵活,对于复杂查询,ORM力不从心。2, 执行效率低于直接编写的SQL语句。3, 性能损耗,ORM中的映射和关系管理是以牺牲性能为代价的4, 提高了学习成本。ORM使用场合:1,对性能要求不是很

5、苛刻的程序  有一个转换的成本2, 开发时间紧迫时3,有数据库迁移需求时常见ORM框架ORM不是产品,是框架的总称,面向对象的程序设计语言到关系数据库的映射。使程序员既可以利用面向对象语言的简单易用性,又可以利用关系数据库的技术优势来实现应用程序的增删改查操作。1,             NHibernate:Hibernate在.NET平台下的版本2,             iBatis.NET:iBatis在.NET平台的实现3,             LinqtoSQL(微软不再更新):.NET针对SQLserver的ORM框架4,             ADO.NET Enti

6、ty Framework:微软在.NET4.0推出的领域驱动开发模型。注意:ADO.NET Entity Framework是微软以ADO.NET为基础所发展出来的对象关系映射解决方案,只不过是对ADO.NET进行了一个更高层次的封装。.NET应用程序访问数据库的方式1.手写代码通过ADO.NET类库2,DataSet结合DataAdapter结合3,ORMORM解决方案:  Linqtosql  EF:数据库的ER模型可以完全转换成对象模型EF体系结构1,DataProviders:数据库的相关操作2,EDM:概念层和逻辑层的映射,应用程序构建在该层之上3,其他层:如何操作EDM接下来,我们

7、来看下EDM的概念EDM(Entity Data  Model):实体数据模型能将我们对数据对象的操作为对数据库的操作。在EF中,我们对数据对象的操作,实际上是在操作EDM,EDM会将对数据对象的操作发送到数据库。EDM三层:CSDL(概念层)定义对象模型,以面向对象的方式访问数据,可以简单理解为实体类MSL(对应层)负责上层的概念层结构与下层的存储结构之间的映射SSDL(存储层)负责与数据库管理

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。