NHibernateContrib贡献项目
项目简介
项目地址:http://sourceforge.net/projects/nhcontrib/
NHibernateContrib项目是由NHibernate开发团队或者终端用户根据需要自行编译并贡献的一系列的程序。这些程序不随 NHi
bernate的核心库一起发布。目前拥有NHibernate.Burrow、NHibernate.Caches、 NHibernate.Linq、NHibernate.Mapp
ing.Attributes、 NHibernate.ProxyGenerators、NHibernate.Spatial、NHibernate.Validator项目。
项目案例
项目作者Kailuo Wang,Burrow前身为MindLib,经过一段时间的项目检验,作者与NHibernate项目负责人沟通后将MindLib中针对NHibernate的部分提取出来成为 NHibernate.Contrib的子项目。NHibernate.Burrow基于.Net2.0开发。
- Burrow Conversation:轻松编写业务逻辑
- GenericDAO:运用DAO模式对ISession的常用操作封装成通用泛型基类,使用更加简便。
- Stateful field attributes:在UserControl或Page中拥有该attribuite的字段将在多次http请求中保持状态。
- Multiple databases support:支持对多数据库操作,只需提供entity的类型,Burrow将会帮你找到正确的ISession。如果配合GenericDAO,多数据库操作与单数据库操作没有任何区别。
提供一些NHibernate二级缓存提供程序,例如支持Bamboo.Prevalence、System.Web.Caching.Cache、ASP.NET缓存、memcached、NCache的二级缓存提供程序的扩展。
由Ayende Rahien开发,NHiberante.Linq基于Criteria API的Linq Provider,主要功能是将简单的Linq表达式转化为Criteria API。由于Criteria API的功能有限,所以NHiberante.Linq不支持众多复杂查询。不过Steve Strong正在为NHibernate3.0全新设计基于AST的Linq Provider,这一新功能将集成到NHibernate3.0中。
连贯NHibernate(Fluent NHibernate)是通过编程方式而不是使用XML配置创建NHiberne映
射的API。它的目标是在项目中运用NHibernate时减少所遇到的困难,提供更好的可读性、试性
和编译时的安全性。有以下特性:
- 自动映射(Automapping)
- 流映射(Fluent Mapping)
- 约定(Conventions)
- 配置(Configuration)
- 持久化测试(Persistence Testing)
uNHAddins的全名是UnOfficial NHibernate AddIns,非官方的NHibernate Add-Ins。由NHibernate开发者一些对NHibernate实用扩展。主要有Pagination, IBindingList, IEditableObject, INotifyPropertyChanged, IDataErrorInfo, Validation, Interceptors, Transformers, Sessions Factories, Data Sources等等扩展。