using System; using System.Collections.Generic; using System.Text; using NHibernate; using NHibernate.Cfg; using NHibernate.Criterion; using NHibernate.Engine; using NHibernate.SqlCommand; using NHibernate.SqlTypes; using D.Constant; namespace D.Common { public static class DNHI { #region Properties属性 private static readonly object _lockObject = new object(); private static ISessionFactory m_factory; public static ISessionFactory Factory { get { if (m_factory.IsNull()) { lock (_lockObject) { if (m_factory.IsNull()) { try { NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration().Configure(DConfig.NHI_CONFIG); m_factory = cfg.BuildSessionFactory(); } catch (Exception ex) { DLog.WriteLog(DMessage.ERR, ex); } } } } return m_factory; } } #endregion #region Methods方法 /// /// 初始化NHibernate /// public static void InitFactory() { lock (_lockObject) { NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration().Configure(DConfig.NHI_CONFIG); m_factory = cfg.BuildSessionFactory(); } } #endregion } }