本文向大家介绍NHibernate Session,可能好多人还不了解NHibernate Session,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具。
NHibernate Session是线程不安全的,而且每次数据库操作 请求创建Session时对性能有些影响。在Windows应用中可以通过 [ThreadStatic]特性很简单的就可以实现线程安全,而在Web中可以通过将Session与用于请求HttpContext绑定实现线程安全,并且用户当前请求时只有一个NHibernate Session。代码如下:
- ISessionManage.cs
- using System;
- using NHibernate;
- namespace Commercial.Jwsoft.Framework.Persistence.SessionManage
- {
- /// <summary>
- /// 功能:主要用于封装第三方类库操作数据库的Session类,现主要用于封装NHibernate中的Session
- /// </summary>
- public interface ISessionManage
- {
- /// <summary>
- /// 获取Session的一个实例
- /// </summary>
- /// <returns>返回实现NHibernate.ISession接口的类</returns>
- ISession Get();
- /// <summary>
- /// 设置Session的一个实例
- /// </summary>
- /// <param name="session">实现NHibernate.ISession接口的类</param>
- void Set(ISession session);
- }
- }
【编辑推荐】