写在前面

这篇总结本来是昨天要写的,可昨天大学班长来视察工作,多喝了点,回来就倒头就睡了,也就把这篇总结的文章拖到了今天。

nhibernate系列从开始着手写,到现在前后耗费大概两个月的时间,通过总结这个系列,确实收获不小,这里将本系列的导航,列出放在这里算是对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

工作中遇到的bug

工作中使用nhibernate遇到的bug,这里也记录一下,有的在总结的时候在对应的文章中已经列出。如果在以后的工作中,再遇到bug,就在这里追加。

[NHibernate]Nhibernate如何映射sqlserver中image字段

nhibernate系列文章

[NHibernate]基本配置与测试 

[NHibernate]HQL查询 

[NHibernate]条件查询Criteria Query

[NHibernate]增删改操作

[NHibernate]事务

[NHibernate]并发控制

[NHibernate]组件之依赖对象

[NHibernate]一对多关系(级联删除,级联添加)

[NHibernate]一对多关系(关联查询)

[NHibernate]多对多关系(关联查询)

[NHibernate]延迟加载

[NHibernate]立即加载

[NHibernate]视图处理

[NHibernate]N+1 Select查询问题分析

[NHibernate]存储过程的使用(一)

[NHibernate]存储过程的使用(二)

[NHibernate]存储过程的使用(三)

[NHibernate]代码生成器的使用

[Nhibernate]SchemaExport工具的使用(一)——通过映射文件修改数据表

[Nhibernate]SchemaExport工具的使用(二)——创建表及其约束、存储过程、视图

[Nhibernate]对象状态

[Nhibernate]一级缓存

[Nhibernate]二级缓存(一)

[Nhibernate]二级缓存(二)

[Nhibernate]sqlite数据库基本使用

Fluent Nhibernate

[Fluent NHibernate]第一个程序

[Fluent 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也感兴趣,该群热烈欢迎您的加盟,也许因为您的加入,该群会霸气测漏!

该群不会因为您是初学者而鄙视您,也不会因为您是大牛,每天上班前烧香拜您,来了就是朋友!勿喜勿近!

耗时两月,NHibernate系列出炉的更多相关文章

  1. MySQL计算指标连续两月金额相比_20160929

    在正常的业务逻辑中,对客户的分析是必须的也是最经常用到的,根据时间维度计算计算指标连续两月环比情况也是一道必须面对的题目. 国庆放假 先写代码 后面再拆分解释 SELECT a.*,b.年月 AS 上 ...

  2. 吉特仓储管系统(开源WMS)--分享两月如何做到10W+的项目

    在此文开篇之处先特别申明,此文在有些人的眼中会有广告的嫌疑,但是本人不想将其作为一个广告宣传的文章,在此提到软件内容部分请大家予以谅解和包含,作为时间不算短的程序员给大家分享一些自己开发吉特仓储管理软 ...

  3. python学习两月总结_汇总大牛们的思想_值得收藏

    下面是我汇总的我学习两个月python(version:3.3.2)的所有笔记 你可以访问:http://www.python.org获取更多信息 你也可以访问:http://www.cnblogs. ...

  4. 耗时十个月的德国APS,教会我的学习方法

    考过了准备了10个月的Aps ,想送给关注我的8175个粉丝,一份礼物,感谢你们看的起我,对我的支持和关注. 这份礼物,我就大言不惭的称之为:达令的学习方法. 我的考试经历:高考两次,中戏艺考三试,导 ...

  5. 怒肝俩月,新鲜出炉史上最有趣的Java小白手册,第一版,每个 Java 初学者都应该收藏

    这么说吧,在我眼里,Java 就是最流行的编程语言,没有之一(PHP 往一边站).不仅岗位多,容易找到工作,关键是薪资水平也到位,不学 Java 亏得慌,对吧? 那可能零基础学编程的小伙伴就会头疼了, ...

  6. 耗时一个月,整理出这份Hadoop吐血宝典

    本文目录: 一.HDFS 二.MapReduce 三.Yarn 四.Hadoop3.x 新特性 五.Hadoop 大厂面试真题解析 Hadoop 涉及的知识点如下图所示,本文将逐一讲解: 本文档参考了 ...

  7. 逆流而上,7月阿里最新出炉的三面面经,年薪50W,我行您也行

    从7月份开始,打算找工作,一个偶然的机会,拉勾上一个蚂蚁金服的师兄找到我,说要内推,在此感谢姚师兄,然后就开始了蚂蚁金服的面试之旅.把简历发过去之后,就收到了邮件通知,10个工作日联系我,请耐心等待. ...

  8. WPF mvvm 验证,耗时两天的解决方案

    常用类 类名 介绍 ValidationRule 所有自定义验证规则的基类.提供了让用户定义验证规则的入口. ExceptionValidation 表示一个规则,该规则检查在绑定源属性更新过程中引发 ...

  9. 耗时一个月上架了一款微信小程序,赚了2022年的第一笔副收入

    今天不谈技术,只谈经历. 前戏 相信有很多的程序员都有一个产品梦,希望有一款属于自己产品.毕竟工作中遇到的有些"脑残"的产品经理不是一个两个,最后不得不因为"技术服务于业 ...

随机推荐

  1. MySQL备份原理详解

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

  2. Memcached初探

    一.Memcached是什么 Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度. Memcached基于 ...

  3. 嵌入式Linux驱动学习之路(二十七)字符设备驱动的另一种写法

    之前讲的字符设备驱动程序,只要有一个主设备号,那么次设备号无论是什么都会和同一个 struct file_operations 结构体对应. 而本节课讲的是如何在设备号相同的情况下,让不同的次设备号对 ...

  4. jenkins邮件配置

    jenkins自带的邮件管理太弱了,为了能按自定义的方式发送邮件,需要安装一个插件: Jenkins Email Extension Plugin.   1.配置邮件:通过"系统管理&quo ...

  5. swift 简介和常量与变量 --- swift 入门

    一.思维导图 二. 代码 //创建UIView 和按钮 let views = UIView(frame: CGRect(x:20, y: 20, width: 100, height: 100))/ ...

  6. Django基础之wsgi

    Django 一 什么是web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演 ...

  7. 初识NodeJS

    1.JavaScript 模块化规范 浏览器环境 AMD Asynchronous Module Definition RequireJS CMD Common Module Definition S ...

  8. 理解SVG的viewport,viewBox,preserveAspectRatio

    万丈高楼平地起,基础很重要. viewport 表示SVG可见区域的大小,或者可以想象成舞台大小,画布大小. <svg width="500" height="30 ...

  9. [LeetCode] Word Pattern II 词语模式之二

    Given a pattern and a string str, find if str follows the same pattern. Here follow means a full mat ...

  10. 【三石视频教程】当FineUIPro遇到ReportViewer

    FineUIPro 下个版本(v2.8.0)即将支持 ReportViewer,为此三石特别制作了一期视频教程,供大家参考. 运行效果图:   视频下载:http://pan.baidu.com/s/ ...