NHibernate系列
NHibernate系列
写在前面
这篇总结本来是昨天要写的,可昨天大学班长来视察工作,多喝了点,回来就倒头就睡了,也就把这篇总结的文章拖到了今天。
nhibernate系列从开始着手写,到现在前后耗费大概两个月的时间,通过总结这个系列,确实收获不小,这里将本系列的导航,列出放在这里算是对nhibernate系列的一个小总结,也方便想学习nhibernate的朋友查找。
nhibernate文档
文档部分是从网上搜集,认为还是比较全面的,就在博客上做了记录,也希望在用到的时候,有个地方可以方便的查找。
[NHibernate]持久化类(Persistent Classes)
[NHibernate]集合类(Collections)映射
[NHibernate]缓存(NHibernate.Caches)
[NHibernate]NHibernate.Tool.hbm2net
工作中遇到的bug
工作中使用nhibernate遇到的bug,这里也记录一下,有的在总结的时候在对应的文章中已经列出。如果在以后的工作中,再遇到bug,就在这里追加。
[NHibernate]Nhibernate如何映射sqlserver中image字段
nhibernate系列文章
[NHibernate]条件查询Criteria Query
[Nhibernate]SchemaExport工具的使用(一)——通过映射文件修改数据表
[Nhibernate]SchemaExport工具的使用(二)——创建表及其约束、存储过程、视图
收获
首先很感谢园友@李永京,看他的那个系列,真心不错,也从他那里学到不少东西。
在写本系列的过程中,体会最深的就是,有些东西,如果觉得对你有用,最好还是自己动手实践一下,有的时候你看着文章,很简单啊,就是那么回事,在你真正去做的时候,你会发现会暴露出很多问题,如果有朋友在跟我这个系列学习,会发现我有时更新文章比较慢,主要原因有的地方遇到问题了,卡在那个地方了,遇到问题总得想办法解决,所以拖慢了自己的节奏(因为公司项目需要去外地出差没更新文章除外)。学习的过程,就是不断的解决问题的过程,解决一个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系列的更多相关文章
- NHibernate系列文章一:NHibernate介绍
摘要 NHibernate是一个成熟的开源的面向对象的.net映射框架.大量的实际项目中正在使用该框架.他是建立在ADO.Net基础之上.目前的版本是NHibernate 4.0.4.本系列文章都是基 ...
- NHibernate系列文章目录
第一章:NHibernate基础 NHibernate介绍 第一个NHibernate工程 简单的增删改查询 运行时监控 NHibernate配置 数据类型映射 Get/Load方法 NHiberna ...
- NHibernate系列文章二十八:NHibernate Mapping之Auto Mapping(附程序下载)
摘要 上一篇文章介绍了Fluent NHibernate基础知识.但是,Fluent NHibernate提供了一种更方便的Mapping方法称为Auto Mapping.只需在代码中定义一些Conv ...
- NHibernate系列文章二十七:NHibernate Mapping之Fluent Mapping基础(附程序下载)
摘要 从这一节起,介绍NHibernate Mapping的内容.前面文章都是使用的NHibernate XML Mapping.NHibernate XML Mapping是NHibernate最早 ...
- NHibernate系列文章二十五:NHibernate查询之Query Over查询(附程序下载)
摘要 这一篇文章介绍在NHibernate 3.2里引入的Query Over查询,Query Over查询跟Criteria查询类似.首先创建IQueryOver对象,然后通过调用该对象的API函数 ...
- NHibernate系列文章二十四:NHibernate查询之Linq查询(附程序下载)
摘要 NHibernate从3.0开始支持Linq查询.写Linq to NHibernate查询就跟写.net linq代码一样,非常灵活,可以很容易实现复杂的查询.这篇文章使用Linq to NH ...
- NHibernate系列文章二十三:NHibernate查询之Criteria查询(附程序下载)
摘要 上一篇文章介绍了NHibernate HQL,他的缺点是不能够在编译时发现问题.如果数据库表结构有改动引起了实体关系映射的类有改动,要同时修改这些HQL字符串.这篇文章介绍NHibernate面 ...
- NHibernate系列文章二十二:NHibernate查询之HQL查询(附程序下载)
摘要 NHibernate提供了多种查询方式,最早的HQL语言查询.Criteria查询和SQL Query,到NHibernate 3.0的Linq NHibernate,NHIbernate 4. ...
- NHibernate系列文章二十一:延迟加载
摘要 NHibernate的延迟加载机制是很重要的内容.通过关系映射将数据库表之间的关系映射成对象之间的关系,如果没有延迟加载机制,从主表的一个对象的查询将直接查询出所有与该对象关联的其他对象,如果关 ...
随机推荐
- C++ tree(1)
建立与基本操作 .有关二叉树的相关概念,这里不再赘述,假设不了解二叉树相关概念,建议先学习数据结构中的二叉树的知识点 准备数据 定义二叉树结构操作中须要用到的变量及数据等. #define MAXLE ...
- error C2871: 'std' : does not exist or is not a namespace
#include <iostream.h> using namespace std; 然后编译时出现 error C2871: 'std' : does not exist or is n ...
- 使用更清晰DebugLog开发和调试工具
在开发和应用的开发和调试过程中难免会发现故障的过程中.我相信很多做iOS开发程序员Xcode的debug调试功能大加关注. 但在这样做Android开发过程中,却不那么方便,虽然IDE也提供了debu ...
- Cloudera impala简单介绍及安装具体解释
一.Impala简单介绍 Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL.除了像Hive使用同样的统一存储平台,Impala也使 ...
- Spring先进的交易管理困难剖析
1Spring事务传播行为 所谓事务传播行为就是多个事务方法相互调用时,事务怎样在这些方法间传播.Spring支持7种事务传播行为 PROPAGATION_REQUIRED(增加已有事务) 假设当前没 ...
- Windows Phone获取WiFi BSSID
原文:Windows Phone获取WiFi BSSID BSSID,一种特殊的Ad-hoc LAN的应用,也称为Basic Service Set (BSS),一群计算机设定相同的BSS名称,即可自 ...
- [Cocos2d-x]Cocos2d-x 3.2 学习笔记
获取屏幕大小(Visible) Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Direc ...
- dotNET跨平台相关文档
dotNET跨平台相关文档整理 一直在从事C#开发的相关技术工作,从C# 1.0一路用到现在的C# 6.0, 通常情况下被局限于Windows平台,Mono项目把我们C#程序带到了Windows之外的 ...
- 谈话Java在ThreadLocal理解类
我们必须先了解:ThreadLocal不超过一个线程类,或者它应该被称为线程局部变量.这从ThreadLocal的JDK我们可以看到的定义 public class ThreadLocal<T& ...
- JavaScript总结一下--创建对象
在JavaScript象主要就是用下面三种语句: var box=new Object(); 或var box=Object(); var box={};//字面量 function Bo ...