代码改变世界

随笔分类 - NHibernate

NHibernate剖析:Mapping篇之Mapping-By-Code(2):运用ModelMapper

2011-04-10 16:33 by 李永京, 11450 阅读, 收藏, 编辑
摘要:上一篇文章介绍了Mapping-By-Code(代码映射)的原理,这篇文章结合上篇的原理运用Mapping-By-Code(代码映射)。 阅读全文

NHibernate剖析:Mapping篇之Mapping-By-Code(1):概览

2011-04-10 15:24 by 李永京, 10306 阅读, 收藏, 编辑
摘要:NHibernate3.2版本集成Mapping-By-Code(代码映射),其设计思想来源于ConfORM,代码整体构思基于"Loquacious"模式,而不是"fluent-interface"。在NHibernate.Mapping.ByCode命名空间下。 阅读全文

NHibernate 3版本新特性

2010-12-15 09:26 by 李永京, 14616 阅读, 收藏, 编辑
摘要:2010年12月4号Fabio Maulo发布了NHibernate 3.0.0.GA正式版本,基于.Net3.5和.NET 3.5 Client Profile平台,主要改变是增加Loquacious配置和基于Lambda表达式查询和Linq查询。 阅读全文

NHibernate 3.0.0.GA正式发布了

2010-12-05 12:47 by 李永京, 9122 阅读, 收藏, 编辑
摘要:2010年12月4号Fabio Maulo发布了NHibernate 3.0.0.GA正式版本。 阅读全文

推荐NHibernate新书:NHibernate 3.0 CookBook[附下载]

2010-10-11 08:43 by 李永京, 19956 阅读, 收藏, 编辑
摘要:NHibernate 3.0 CookBook这本书在2010年10月4号出版,出版后NHibernate的Lead:Fabio Maulo赠送我一份免费优惠券,我花了几天时间阅读了这本电子书,以下是我阅读NHibernate 3.0 CookBook这本书的读书心得分享一下。 阅读全文

NHibernate3剖析:Mapping篇之ConfORM实战(5):Component语义

2010-10-03 13:46 by 李永京, 5133 阅读, 收藏, 编辑
摘要:使用ConfORM“映射”组件,我们无需特别设置,ConfORM内部会根据Domain定义来判定组件,一般而言,没有主键的类就是组件。 阅读全文

NHibernate3剖析:Mapping篇之ConfORM实战(4):ManyToMany语义

2010-09-26 21:03 by 李永京, 4656 阅读, 收藏, 编辑
摘要:这篇我们使用ConfORM“映射”多对多关联。无论是单向关联还是双向关联,我们只需要使用ObjectRelationalMapper类中的ManyToMany方法。 阅读全文

NHibernate3剖析:Mapping篇之ConfORM实战(3):OneToOne语义

2010-09-10 08:45 by 李永京, 5756 阅读, 收藏, 编辑
摘要:在Domain设计中,关联关系有单向关联和双向关联两种,那么一对一我们可以分为单向一对一关联(Unidirectional one-to-one)、双向一对一主键关联(Bidirectional one-to-one (primary key association))、双向一对一外键关联(Bidirectional one-to-one (foreign key association))三种情况。这篇使用ConfORM“映射”这些Domain实例吧。 阅读全文

NHibernate3剖析:Mapping篇之ConfORM实战(2):原理

2010-09-09 08:55 by 李永京, 6314 阅读, 收藏, 编辑
摘要:在上一节中,我用一个简单的例子描述了ConfORM简单使用。留下了很多疑问,大家不解为何使用ConfORM以及怎么使用ConfORM,其内部原理是什么。这节,我们先注重了解一些ConfORM的原理。 阅读全文

NHibernate3剖析:Query篇之NHibernate.Linq自定义扩展

2010-08-11 20:05 by 李永京, 11196 阅读, 收藏, 编辑
摘要:在NHibernate中,几乎所有的面向对象查询语言(HQL、Criteria、QueryOver)都是可扩展的,Linq也不例外。我们可以扩展自定义LINQ-provider并将LINQ扩展方法转换为SQL。 阅读全文

NHibernate3剖析:Query篇之NHibernate.Linq增强查询

2010-08-10 09:38 by 李永京, 10325 阅读, 收藏, 编辑
摘要:NHibernate.Linq除了提供标准查询运算符外,NHibernate.Linq还专门提供了NHibernate特有的两个增强查询方法,分别是立即抓取(EagerFetching)和查询缓存(QueryCacheable)。 阅读全文

NHibernate3剖析:Query篇之NHibernate.Linq标准查询

2010-08-09 08:20 by 李永京, 16106 阅读, 收藏, 编辑
摘要:NHibernate.Linq基于HQL AST分析器的Linq Provider,使用ISession接口的Query()扩展方法创建一个NHibernate.Linq查询。这篇利用单一对象学习下NHibernate.Linq最基本的标准查询。 阅读全文

NHibernate 3.0.0.Alpha1 发布及新特性介绍

2010-07-24 21:12 by 李永京, 7747 阅读, 收藏, 编辑
摘要:刚刚NHibernate的Leader——Fabio Maulo发布了NHibernate 3.0.0.Alpha1版本,这是NHibernate 3.0.0的第一个公开测试版本。NHibernate 3.0.0版本可以说是跨时代的一个版本,NHibernate贡献者们经过了一年的完善和测试,增加了非常多的新特性和修复很多BUG。这篇文章我也自己归类总结了这些新特性。 阅读全文

NHibernate3剖析:Mapping篇之集合映射基础(4):Map映射

2010-05-12 21:56 by 李永京, 6522 阅读, 收藏, 编辑
摘要:我们在设计Domain时,有很多集合形式,我总是设计着各种各样的Domain不断尝试着各种集合形式。集合有所有Net基本类型、NHibernate自定义类型、组件、其他实体的引用等形式,那么在NHibernate中如何通过映射把Domain定义中的集合形式和数据库架构映射起来的呢。Mapping篇为大家介绍基本上所有的Mapping方式,大家学习NHibernate也有个比较"官方"的参考。 阅读全文

NHibernate3剖析:Mapping篇之集合映射基础(3):List映射

2010-05-12 10:33 by 李永京, 5657 阅读, 收藏, 编辑
摘要:我们在设计Domain时,有很多集合形式,我总是设计着各种各样的Domain不断尝试着各种集合形式。集合有所有Net基本类型、NHibernate自定义类型、组件、其他实体的引用等形式,那么在NHibernate中如何通过映射把Domain定义中的集合形式和数据库架构映射起来的呢。Mapping篇为大家介绍基本上所有的Mapping方式,大家学习NHibernate也有个比较"官方"的参考。 阅读全文

NHibernate3剖析:Mapping篇之集合映射基础(2):Bag映射

2010-05-10 21:33 by 李永京, 7129 阅读, 收藏, 编辑
摘要:我们在设计Domain时,有很多集合形式,我总是设计着各种各样的Domain不断尝试着各种集合形式。集合有所有Net基本类型、NHibernate自定义类型、组件、其他实体的引用等形式,那么在NHibernate中如何通过映射把Domain定义中的集合形式和数据库架构映射起来的呢。Mapping篇为大家介绍基本上所有的Mapping方式,大家学习NHibernate也有个比较"官方"的参考。 阅读全文

NHibernate3剖析:Mapping篇之集合映射基础(1):Set映射

2010-05-08 20:48 by 李永京, 6337 阅读, 收藏, 编辑
摘要:我们在设计Domain时,有很多集合形式,我总是设计着各种各样的Domain不断尝试着各种集合形式。集合有所有Net基本类型、NHibernate自定义类型、组件、其他实体的引用等形式,那么在NHibernate中如何通过映射把Domain定义中的集合形式和数据库架构映射起来的呢。Mapping篇为大家介绍基本上所有的Mapping方式,大家学习NHibernate也有个比较"官方"的参考。 阅读全文

NHibernate3剖析:Mapping篇之Mapping概览

2010-04-22 19:36 by 李永京, 8314 阅读, 收藏, 编辑
摘要:NHibernate作为典型的ORM工具,我们使用时通常是先定义Domain,再为Domain映射数据库关系,NHibernate映射是使用XML文件形式的。本篇从整体上了解下NHibernate Mapping处理过程及我们编写方式。 阅读全文

NHibernate3剖析:Mapping篇之ConfORM实战(1):概览

2010-04-21 21:37 by 李永京, 9638 阅读, 收藏, 编辑
摘要:对于ORM(Object Relational Mapping)我们太熟悉了,但是我们从另一个角度可以想象出ORuM(Object Relational un-Mapping)的思想理念。我们在程序中仅仅定义Domain, 而想有个工具可以帮助我们"自动化"实现Mapping,我们无需按传统的ORM思想那样为Domain手动编码Mapping。ConfORM设计思想来源就是 ORuM(Object Relational un-Mapping)。这个系列一起学习下ConfORM。 阅读全文

NHibernate3剖析:Configuration篇之Cache lambda-configuration配置

2010-01-22 10:44 by 李永京, 8601 阅读, 收藏, 编辑
摘要:在上一篇文章中我们介绍了lambda表达式配置(lambda-configuration),其中还剩下EntityCache扩展方法用于配置Domain的二级缓存。本文介绍了使用Weak Type和EntityCache扩展方法两种方式配置实体缓存。 阅读全文