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 @   冬子哥  阅读(11470)  评论(38编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
点击右上角即可分享
微信分享提示