【C#】ORM框架

ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁。

Java典型的ORM框架有个:Hibernate,mybatits,speedframework

        ORM的方法论基于三个核心原则:

           简单:以最基本的形式建模数据

           传达性:数据库结构被任何人都能理解的语言文档化

           精准性:基于数据模型创建正确标准化了的结构

ORM框架:为了解决面型对象与关系数据库存在的互不匹配的现象的框架。

 

概括起来 : 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单来说将程序中的兑现自动持久化到关系数据库中那么,到底如何实现持久化呢?一种简单的反感是采用硬编码的方式(jdbc操作sql方式),为每一种可能的数据库访问操作提供单独的方法。这种方法存在很多缺陷,所有使用ORM框架(为了解决面型对象与关系数据库存在的互不匹配的现象的框架)来解决。
---------------------




 Net环境下比较流行的ORM框架对比

       个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hibernate,除了在学习基础知识的时候被告知可以使用JDBC操作数据库之外,大量的书籍中都是讲述使用Hibernate这个ORM工具来操作数据。

       在.NET中操作数据库的方式有多种,除了最直接的方式就是使用ADO.NET之外,还可以使用NHibernate这个Hibernate在.NET中的实现ORM,如果你对第三方的ORM持怀疑态度,你还可以使用来自微软的实现、根正苗红的Linq或者EntityFramework


       大部分从早期就开始使用.NET开发的程序员可能对ADO.NET有种迷恋,使用ADO.NET可以充分将我们早期的SQL知识发挥得淋漓尽致,并且出于对性能的考虑,有些人对.NET中的ORM还保持一种观望态度,包括我自己也是这种态度。不过即使在实际开发中不用,并不代表我们不能去了解和比较这些技术,任何事物的出现和消亡总有其原因的,我们可以了解它们的优点和长处。所以本人抽出了几个周末的时间分别用NBear、NHibernate、GentleNet,IBatis.Net和SubSonic来实现对数据库单表数据的创建、读取、更新和删除操作,也就是所谓的CRUD(C:Create/R:Read/U:Update/D:Delete)。

posted @ 2018-10-17 10:59  abcdefghijklmnop  阅读(1042)  评论(0编辑  收藏  举报