ASP.NET MVC中使用Nhibernate(一)

本文详细介绍了如何在ASP.NET MVC项目中安装、配置和使用Nhibernate,包括Nhibernate的基本概念、安装步骤、模型创建、Repository实现、映射配置以及Nhibernate的配置测试。
摘要由CSDN通过智能技术生成

一,摘要

在本篇文章中我们覆盖如何安装配置Nhibernate,以及在MVC中如何使用它.

二,什么是Nhibernate

Nhibernate是一个应用于.NET中的对象-关系映射器,它将对象模型映射到关系型数据库,在本文中你将看到Nhibernate处理大部分持久层相关联的任务,从http://sourceforge.net/projects/nhibernate/files/站点下载Nhibernate

三,安装Nhibernate

下载压缩包,并且解压到你的电脑上,这样就安装好了.

四,创建ASP.NET MVC项目

创建一个新的MVC项目,伴随着单元测试项目.添加两个类库:Infrastructure与Core.这是一个非常简单的模型帮助我们理解Nhibernate是如何工作的:一个博客帖子属于一个或者多个类别,一个类别可能拥有一个或者多个帖子
postscategoriesmodel_thumb
我们将使用SQL Server2008速成版创建我们的数据库,当然也可以在Visual Studio里创建模型,然后通过编写Nhibernate配置去创建数据库.

五,创建模型

下一步去创建我们的模型,它是我们的数据库面向对象的表现,我们将使用Visual Studio的类设计器创建它
postscategoriesmodel_thumb

六,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();
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值