講解NHibernate Session
本文向大家介紹NHibernate Session,可能好多人還不了解NHibernate Session,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
NHibernate 是一個基于.Net 的針對關(guān)系型數(shù)據(jù)庫的對象持久化類庫。Nhibernate 來源于非常優(yōu)秀的基于Java的Hibernate 關(guān)系型持久化工具。
NHibernate Session是線程不安全的,而且每次數(shù)據(jù)庫操作 請求創(chuàng)建Session時對性能有些影響。在Windows應(yīng)用中可以通過 [ThreadStatic]特性很簡單的就可以實現(xiàn)線程安全,而在Web中可以通過將Session與用于請求HttpContext綁定實現(xiàn)線程安全,并且用戶當(dāng)前請求時只有一個NHibernate Session。代碼如下:
- ISessionManage.cs
- using System;
- using NHibernate;
- namespace Commercial.Jwsoft.Framework.Persistence.SessionManage
- {
- /// <summary>
- /// 功能:主要用于封裝第三方類庫操作數(shù)據(jù)庫的Session類,現(xiàn)主要用于封裝NHibernate中的Session
- /// </summary>
- public interface ISessionManage
- {
- /// <summary>
- /// 獲取Session的一個實例
- /// </summary>
- /// <returns>返回實現(xiàn)NHibernate.ISession接口的類</returns>
- ISession Get();
- /// <summary>
- /// 設(shè)置Session的一個實例
- /// </summary>
- /// <param name="session">實現(xiàn)NHibernate.ISession接口的類</param>
- void Set(ISession session);
- }
- }
【編輯推薦】