public IDatabaseSession OpenSession()
 {
     ISession session = _sessionFactory.OpenSession();
     _activeSessionManager.SetActiveSession(session);
     var databaseSession = new NHibernateDatabaseSession(session);
     databaseSession.Disposing += _currentDatabaseSession_Disposing;
     return databaseSession;
 }
        public IDatabaseSession GetCurrentSession()
        {
            IDatabaseSession session = null;
            if (_activeSessionManager.HasActiveSession)
            {
                session = new NHibernateDatabaseSession(_activeSessionManager.GetActiveSession());
            }

            return session;
        }
 public bool Equals(NHibernateDatabaseSession other)
 {
     if (ReferenceEquals(null, other)) return false;
     if (ReferenceEquals(this, other)) return true;
     return Equals(other.Session, Session);
 }