这篇总结本来是昨天要写的,可昨天大学班长来视察工作,多喝了点,回来就倒头就睡了,也就把这篇总结的文章拖到了今天。
nhibernate系列从开始着手写,到现在前后耗费大概两个月的时间,通过总结这个系列,确实收获不小,这里将本系列的导航,列出放在这里算是对nhibernate系列的一个小总结,也方便想学习nhibernate的朋友查找。
文档部分是从网上搜集,认为还是比较全面的,就在博客上做了记录,也希望在用到的时候,有个地方可以方便的查找。
[Nhibernate]体系结构
[NHibernate]ISessionFactory配置
[NHibernate]持久化类(Persistent Classes)
[NHibernate]O/R Mapping基础
[NHibernate]集合类(Collections)映射
[NHibernate]关联映射
[NHibernate]Parent/Child
[NHibernate]缓存(NHibernate.Caches)
[NHibernate]NHibernate.Tool.hbm2net
[NHibernate]Nullables
工作中使用nhibernate遇到的bug,这里也记录一下,有的在总结的时候在对应的文章中已经列出。如果在以后的工作中,再遇到bug,就在这里追加。
[NHibernate]Nhibernate如何映射sqlserver中image字段
[NHibernate]基本配置与测试
[NHibernate]HQL查询
[NHibernate]条件查询Criteria Query
[NHibernate]增删改操作
[NHibernate]事务
[NHibernate]并发控制
[NHibernate]组件之依赖对象
[NHibernate]一对多关系(级联删除,级联添加)
[NHibernate]一对多关系(关联查询)
[NHibernate]多对多关系(关联查询)
[NHibernate]延迟加载
[NHibernate]立即加载
[NHibernate]视图处理
[NHibernate]N+1 Select查询问题分析
[NHibernate]存储过程的使用(一)
[NHibernate]存储过程的使用(二)
[NHibernate]存储过程的使用(三)
[Nhibernate]SchemaExport工具的使用(一)——通过映射文件修改数据表
[Nhibernate]SchemaExport工具的使用(二)——创建表及其约束、存储过程、视图
[Nhibernate]对象状态
[Nhibernate]一级缓存
[Nhibernate]二级缓存(一)
[Nhibernate]二级缓存(二)
首先很感谢园友@李永京,看他的那个系列,真心不错,也从他那里学到不少东西。
在写本系列的过程中,体会最深的就是,有些东西,如果觉得对你有用,最好还是自己动手实践一下,有的时候你看着文章,很简单啊,就是那么回事,在你真正去做的时候,你会发现会暴露出很多问题,如果有朋友在跟我这个系列学习,会发现我有时更新文章比较慢,主要原因有的地方遇到问题了,卡在那个地方了,遇到问题总得想办法解决,所以拖慢了自己的节奏(因为公司项目需要去外地出差没更新文章除外)。学习的过程,就是不断的解决问题的过程,解决一个bug,那心情是如何舒畅啊,我相信大部分人都深有体会。哪个大牛不是bug这个枪林弹雨中趟过来的?
在实际工作中,nhibernate有些内容确实使用的很少,我觉得最主要的原因是不知道怎么用,也甚至一部分人,根本就不知道nhibernate还可以这样使用。这个系列完成了,正好公司有个新的项目立项,也算是自己运气太好了,能够学以致用,正好印证那句话,好运气都是留给有准备的人的(自我安慰一下)。话又说回来,这个项目正好对自己这段时间的学习成果进行一下验收,我不敢保证使用过程中百分百不出问题,但我敢保证,在实际运用过程中,我至少比别人少走很多弯路。
在写这个系列过程中,还是有意外收获的,比如在本系列中学会了单元测试的使用,之前,在实际工作中,单元测试确实用的少,也怕麻烦,但在使用了单元测试之后,发现我彻底被它的征服了,我相信在以后的工作中,我会经常使用它,不管别人用不用,但是我肯定是会用的。
另外一个收获就是,突然某一天有人在博客园私信我,问我有没有想法写nhibernate方面的书籍,确实很意外,自己当时也上一些电子商务网站搜了一下nhibernate相关的书籍,发现绝大部分的书都是英文的,中文的确实很少。也有过这样的想法,想尝试一下,我也深知自己在这方面研究的还不太深入,我这个系列作为入门及的教程还是可以的。
这个系列作为nhibernate入门系列确实足够了,当然也有许多不足的地方,还望多多包涵。学习的过程,也是一个不断迭代的过程,我相信通过本系列的学习,我不敢保证你成为nhibernate方面的高手中的高高手,但是成为大内低手是没有一点问题的。
在本系列文章的评论中有很多朋友问我nhibernate与ef相比有什么优势,我也只能说各有千秋,我这人不喜欢评论那个语言的好与坏,哪个框架的好与坏,有些东西的出现总是有一定道理的,学的是它那种编程的思想,多问个为什么,多少是有点收获的。
关于这个问题,如果你打破砂锅问到底,这儿有篇文章或许你会感兴趣:http://www.infoq.com/cn/news/2010/01/Comparing-NHibernate-EF-4/
(如果文章中有些说法,你不苟同,请你看看这篇文章写的时间)
再次感谢您对本系列文章的关注,如果在工作中遇到新的或者棘手的问题,我将即时更新到本系列中,能让您在使用过程中少走哪怕一步弯路,我以足矣!
另外热烈庆祝下方qq群更名为<.Net中国战区>,当时想出这样个名字,觉得热血沸腾,充满正能量!如果您对nhibernate也感兴趣,该群热烈欢迎您的加盟,也许因为您的加入,该群会霸气测漏!
该群不会因为您是初学者而鄙视您,也不会因为您是大牛,每天上班前烧香拜您,来了就是朋友!勿喜勿近!