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); }
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); }