public static ISessionFactory GetSessionFactory(SqlConnect sqlConnectProvider)
        {
            ISessionFactory factory = null;
            if (_cacheSessionFactory.TryGetValue(sqlConnectProvider.Name, out factory))
                return factory;
            lock (_lockObj) {
                if (_cacheSessionFactory.TryGetValue(sqlConnectProvider.Name, out factory))
                    return factory;
                FluentConfiguration config = Fluently.Configure();
                SetDefaultConfig(config);
                // if (conn.ProviderName.IndexOf("System.Data.SqlClient", StringComparison.OrdinalIgnoreCase) > -1)
                BuildMsSqlDatabase(config, sqlConnectProvider.ConnectionString);
                config.ExposeConfiguration(cfg =>
                {

                    cfg.SetProperty("command_timeout", "120");
                    var export = new SchemaExport(cfg).SetOutputFile(Path.Combine(PathHelper.AppDataPath, "myDDL.sql"));
                    export.Create(true, false);
                });
                factory= config.BuildSessionFactory();
                _cacheSessionFactory[sqlConnectProvider.Name]=factory;

            }

            return factory;
        }
 public NhUnitOfWorkManager(SqlConnect sqlConnect)
 {
     SessionFactory = NHibernateManager.GetSessionFactory(sqlConnect);
     SqlConnect = sqlConnect;
 }