コード例 #1
0
        protected virtual ISessionFactory InitializeSessionFactory(Func <Cfg.Configuration> configurationProvider, Action <ISessionFactory> onInitialized)
        {
            var configuration = configurationProvider();

            _currentSessionContextBinder = GetCurrentSessionContextBinder(configuration);
            var sessionFactory = configuration.BuildSessionFactory();

            if (onInitialized != null)
            {
                onInitialized(sessionFactory);
            }
            return(sessionFactory);
        }
コード例 #2
0
        public static ISession GetCurrentOrNewSession(this ISessionFactory sessionFactory, ICurrentSessionContextBinder currentSessionContextBinder = null, Action <ISession> onSessionOpened = null)
        {
            currentSessionContextBinder = currentSessionContextBinder ?? sessionFactory.GetDefaultCurrentSessionContextBinder();
            if (currentSessionContextBinder.HasBind(sessionFactory))
            {
                return(sessionFactory.GetCurrentSession());
            }
            var session = currentSessionContextBinder.BindNew(sessionFactory);

            if (onSessionOpened != null)
            {
                onSessionOpened(session);
            }
            return(session);
        }