几种.NET平台数据持久化框架介绍
原文连接:http://yuxnet.blog.163.com/blog/static/164863495201131532223362/
在.NET平台下,关于数据持久层框架非常多,本文主要对如下几种做简要的介绍并推荐一些学习的资源:
1.NHibernate
2.NBear
3.Castle ActiveRecord
4.iBATIS.NET
5.DAAB
附加介绍:DLinq
一.NHibernate
提起NHibernate,相信大家都不陌生,NHibernate来源于非常优秀的基于Java的Hibernate关系型持久化工具,它从数据库底层来持久化.Net对象到关系型数据库,NHibernate为我们完成这一切,而不用自己写SQL语句去操作数据库对象,所写的代码仅仅和对象关联,NHibernat自动产生SQL语句,并确保对象提交到正确的表和字段中去.大量减少开发时人工使用SQL和ADO.NET处理数据的时间. NHibernate可以帮助消除或者包装那些针对特定数据库的SQL代码,并且把结果集从表格的表示形式转换到一系列的对象去。NHibernate采用XML文件配置的方式,每一个实体类都会对应一个映射文件,如下面的例子:
官方主页:http://www.nhibernate.org/
学习资源
园子里首推DDL的Blog:http://www.cnblogs.com/renrenqq/,有NHibernate文档的中文翻译以及DLL写的一些非常优秀的NHibernate文章。
大名鼎鼎的张老三:http://blog.csdn.net/billy_zh/category/22383.aspx
Aero的Nhibernate学习手记系列:http://www.cnblogs.com/chwkai/category/32514.html
无心之柳的Blog也非常值得推荐:http://www.cnblogs.com/9527/
博客园O/R Mapping团队:http://www.cnblogs.com/team/ORMapping.html
二.NBear
园子里Teddy开发的NBear大家都非常熟悉,现在已经发布了3.0正式版。NBear包含的组件不仅仅是数据持久层,还包含了IOC,分布式组件和Web组件。看一下Teddy对于NBear的介绍:
NBear的核心包括一个泛型、强类型的的ORM数据持久化接口、一组相关的Entity相关组件、高性能分布式组件、Web组件,因此:
1、NBear最适合开发各类基于ASP.NET 2.0,对性能要求较高的Web程序。NBear.Web组件提供了许多加速Web开发的组件,将使您基于标准 ASP.NET方式的开发效率大大提高;同时,简单易用、性能突出的泛型持久化支持,则将使您能够将更多注意力集中到业务开发,同时也不会有传统ORM持久化框架的性能问题和繁琐配置需要(NBear几乎不需手动配置,性能则接近DAAB)。
2、基于MQ和.Net Remoting的高性能分布式组件,将使您开发和维护分布式程序更加容易。一个基于NBear.IoC模块的开发的应用程序甚至无需重新编译就能部属为真正的负载均衡的分布式程序。
3、对于桌面应用程序,NBear同样是一个几乎没有什么学习曲线(多少人会为写一个小小的日历程序而仔细研究透彻Hibernate的参考手册?)、实用高效的数据持久化方案。
4、随着NBearV3带来的全面的ORM支持、更详细的文档和教程,和全面的代码生成工具,NBear也已经可以被用于企业级程序开发。
官方首页:http://teddyma.cnblogs.com/articles/Ilungasoft_Framework.html
学习资源
学习资源当然首推Teddy的个人Blog:http://www.cnblogs.com/teddyma/
博客园NB团队:http://nbteam.cnblogs.com/
三.Castle ActiveRecord
ActiveRecord是Castle中的一个子项目,现在的版本是RC1。它同样是一个非常优秀的持久层框架,在底层封装了NHibernate,改用Attribute来代替配置文件,这样就不用再像NHibernate那样去编写复杂的配置文件。
官方主页:http://www.castleproject.org
学习资源
官方文档:http://www.castleproject.org/activerecord/documentation/v1rc1/index.html
叶子的家:http://wj.cnblogs.com/
TerryLee的Castle开发系列:
http://terrylee.cnblogs.com/archive/2006/04/28/castl_ioc_article.html
Castle项目成员之一ayende的Blog:http://www.ayende.com/Blog/
四.iBATIS.NET
iBATIS.NET分为DataMapper和DataAccess两部分,应该说DataMapper是这个框架的核心,DataMapper使用XML文件来实现从实体到SQL statements的映射,学习起来非常简单,是用DataMapper后,我们可以自由的使用SQL语句或者存储过程;DataAccess允许我们通过一个简单的接口来操作数据,而不必了解底层实现的细节。
官方主页:http://ibatis.apache.org/
学习资源
官方文档:http://opensource.atlassian.com/confluence/oss/display/IBATIS/Quick+Start+Guide
善友的iBATIS.NET开发指南系列:http://www.cnblogs.com/shanyou/archive/2006/04/29/388610.html
五.DAAB
DAAB是微软Enterprise Library中的一个应用程序块,能够帮助我们实现通用的数据访问,所以也把它列在这里介绍一下。DAAB使应用程序中的数据访问在不知道具体的数据库系统的情况下进行,相信很多朋友对DAAB都很熟性并且已经在项目中使用,就不多介绍了,看一个简单的代码片断:
官方主页:http://msdn.microsoft.com/practices/
学习资源
企业的帮助文档和Hands On Lab
TerryLee的Enterprise Library系列:http://www.cnblogs.com/Terrylee/archive/2006/08/01/Enterprise_Library.html
附加介绍:DLinq
DLinq虽然不能算是开源框架,但是说到数据持久,还是提一下比较好,DLinq是微软下一代数据库集成查询语言,在这之前微软曾经尝试过ObjectSpace,最后是不了了之。DLinq实现的方式有点类似于前面说过的ActiveRecord,不支持使用外部的XML配置文件,而是使用了Attribute的方式,如下代码片断所示:
官方主页:http://msdn.microsoft.com/netframework/future/linq/
学习资源
下载LINQ May CTP版:http://msdn.microsoft.com/data/ref/linq/
ScottGu的Blog:http://weblogs.asp.net/scottgu/default.aspx
最后值得一提的是,微软又推出个Ado.net vNext,使用映射文件来配置,更加类似于NHibernate。关于持久层框架,还有很多,这里就不再介绍了,如Grove等。
转载于:https://www.cnblogs.com/xdot/p/4813075.html
几种.NET平台数据持久化框架介绍相关推荐
- 数据持久化框架为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框 ...
- jooq实体 和mysql_几个数据持久化框架Hibernate、JPA、Mybatis、JOOQ的比较
因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibernate ...
- 后端技术:数据持久化框架为什么放弃 Hibernate、JPA、Mybatis,最终选择 JDBCTemplate!...
因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibernate ...
- 后端开发:数据持久化框架为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate!...
因为项目需要选择数据持久化框架,看了一下主要几个流行的和不流行的框架,对于复杂业务系统,最终的结论是,JOOQ是总体上最好的,可惜不是完全免费,最终选择JDBC Template. Hibernate ...
- MVC之实体框架(数据持久化框架)EntityFrameWork(EF)
EF - EntityFrameWork 中文名:实体框架(数据持久化框架) 1.使用EF查询(Linq to EF) 1.1使用标准查询运算符来查询 OumindBlogEntities db = ...
- 持久化框架数据持久化框架(JPA)及其具体实现
时间紧张,先记一笔,后续优化与完善. 对于数据的持久化问题,我们很容易想到,也很长用到持久化框架jpa. 持久化框架实现起来重要包括以下几个部分 1开发持久化bean Persistence.xml ...
- android数据持久化框架,Android:数据持久化、Environment、SharedPreferences、内部存储internalStorage...
1.数据持久化-SDCard//数据持久化-SDCard findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @ ...
- android平台上持久化存储3种手段_Android 数据持久化==存储数据的五种方法
1.使用SharedPreferences存储数据 2.文件存储数据 3.SQLite数据库存储数据 4.使用ContentProvider存储数据 5.网络存储数据 第一种: 使用SharedPre ...
- 五种基于 MapReduce 的并行计算框架介绍及性能测试
并行计算模型和框架 目前开源社区有许多并行计算模型和框架可供选择,按照实现方式.运行机制.依附的产品生态圈等可以被划分为几个类型,每个类型各有优缺点,如果能够对各类型的并行计算框架都进行深入研究及适当 ...
- 深度学习平台——Paddle核心框架介绍
摘要 本博文将最后的讲解和学习有关于的Paddle的核心框架的分享.并且有关于的Paddle的学习就暂时告一段落.后期本人将更多的在与深度学习的原理和利用Paddle开发自己的深度学习模型作为分享.飞 ...
最新文章
- JavaScript初学者编程题(19)
- java正则 括号_java正则表达式获取大括号小括号内容并判断数字和小数亲测可用...
- 关于WSE_CLIPSIBLINGS
- Leetcode 69 x的平方根 (每日一题 20210805)
- codeforces 703B
- 临时文件_Go语言学习基础-文件路径、目录、临时文件和目录
- 量化交易策略matlab交易方案,【策略分享】Matlab量化交易策略源码分享
- MTK 10A常用函数集锦
- 排列:计算1!+2*2!+3*3!+...+n*n!
- LNMP详解(十一)——Nginx URL重写原理
- 为用户设计良好的接口
- GIS+BIM专题二:SuperMap对接DGN数据流程
- 茶饮门店如何通过企业微信做好用户运营
- android极光推送问题,极光推送- 常见问题 - 极光文档
- win11提示此驱动正在使用中,硬盘格式化不了
- Java开发一年经验北京薪资,全网首发!
- 高通 linux usb 休眠,系统休眠(System Suspend)和设备中断处理
- stm32f103c8串口USART1发送多一字节
- 前端开发——Ionic 3.0【爱创课堂专业前端培训】
- Netty4.x 的逆袭之路 —— 再识 Netty
热门文章
- while求和java,while语句基本练习(求和思想,统计思想)
- Python 列表实现原理
- 练习项目--cookie数据脱敏
- 无法解析 org.apache.commons:commons-pool2:2.4.2
- Java设计模式之单例模式(Singleton Pattern)
- GIT安装与使用记录_已迁移
- Sublime Text 3运行JavaScript控制台
- OpenCV笔记(十八)——使用霍夫变换检测圆圈
- MFC 文档 视图 框架窗口间的关系 和消息传送规律
- 招生网上报名程序090512.rar