10分钟搞定Linq to NHibernate(一)——环境篇

       在微软发布C# 3.0后, LINQ在项目中发挥了重要作用。作为3.0语言身份的象征之一,学习LINQ有为重要。而NHibernate作为运用最广的ORM框架之一,在大型项目中广受开发人员的青睐。前不久,NHibernate Forge宣布NHiberante Linq 1.0正式发布了(参考)。 Linq to NHibernate有机的在NHibernate结合了Linq的查询功能,良好的把LINQ表达式转换为Criteria API。下面针对Linq to NHibernate做一个简单的Demo。

 

      一、建立一个类名为NHibernateHelper的类
NHibernateHelper

      二、使用sql2k自带的northwind数据中的Products表为,建立Products实体和对应的Products.hbm.xml文件加上Categories和Categories.hbm.xml。

 

Products

Products.hbm.xml


Categories

 

Categories.hbm.xml


      三、建立数据库访问层接口(IRepository)和其实现(Repository),并引入程序集(Antlr3.Runtime.dll,Castle.Core.dll,Castle.DynamicProxy2.dll,Iesi.Collections.dll,log4net.dll,NHibernate.ByteCode.Castle.dll,NHibernate.dll,NHibernate.Linq.dll)。

IRepository

 

Repository




      四、建立一个ASP.NET MVC应用程序,同样引入上述的程序集。在Global.asax配置相应的MapRoute

 

Global.asax

 
在Web.config中配置hibernate和log4net

Web.config

 


在HomeController加入如下方法
HomeController
html页面
GetAll.aspx

类似增加View:GetOrderBy,GetPage,GetWhere

      至此Linq to NHibernate就实现了。

    
      
      发表于 2009年10月16日临晨2点20,广州。

代码下载

参考http://mhinze.com/linq-to-nhibernate-in-10-minutes/

Linq To NHibernate环境下载

posted @ 2009-10-16 02:16  冬子哥  阅读(11458)  评论(38编辑  收藏  举报