一,摘要
在本篇文章中我们覆盖如何安装配置Nhibernate,以及在MVC中如何使用它.
二,什么是Nhibernate
Nhibernate是一个应用于.NET中的对象-关系映射器,它将对象模型映射到关系型数据库,在本文中你将看到Nhibernate处理大部分持久层相关联的任务,从http://sourceforge.net/projects/nhibernate/files/站点下载Nhibernate
三,安装Nhibernate
下载压缩包,并且解压到你的电脑上,这样就安装好了.
四,创建ASP.NET MVC项目
创建一个新的MVC项目,伴随着单元测试项目.添加两个类库:Infrastructure与Core.这是一个非常简单的模型帮助我们理解Nhibernate是如何工作的:一个博客帖子属于一个或者多个类别,一个类别可能拥有一个或者多个帖子
我们将使用SQL Server2008速成版创建我们的数据库,当然也可以在Visual Studio里创建模型,然后通过编写Nhibernate配置去创建数据库.
五,创建模型
下一步去创建我们的模型,它是我们的数据库面向对象的表现,我们将使用Visual Studio的类设计器创建它
六,Repositories
repository允许我们去创建,查询,更新,删除我们的对象.repository独立于数据库.我们将创建2个repository:PostRepository与CategoryRepository,两个repositorys将实现如下接口:
IRepository.cs
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using System;
6: using System.Collections.Generic;
7: using System.Linq;
8: using System.Text;
9:
10: namespace Core
11: {
12: public interface IRepository
13: {
14: void Save(T entity);
15: void Update(T entity);
16: void Delete(Guid id);
17: T GetById(Guid id);
18: T GetAll();
19: }
20: }
去创建repositorys,我们首先需要创建一个辅助类NHibernate session
NHibernateHelper.cs
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using NHibernate.Cfg;
6: using NHibernate;
7:
8: namespace Core.Domain.Repositories
9: {
10: public class NHibernateHelper
11: {
12: private static ISessionFactory _sessionFactory;
13:
14: private static ISessionFactory SessionFactory
15: {
16: get
17: {
18: if (_sessionFactory == null)
19: {
20: var configuration = new Configuration();
21: configuration.Configure();
22: _sessionFactory = configuration.BuildSessionFactory();