public void Setup() { if (String.IsNullOrEmpty(ConfigPath)) { ConfigPath = Consts.DEFAULT_SMARTSQL_CONFIG_PATH; } if (LoggerFactory == null) { LoggerFactory = NoneLoggerFactory.Instance; } if (ConfigLoader == null) { ConfigLoader = new LocalFileConfigLoader(ConfigPath, LoggerFactory); } var sqlMapConfig = ConfigLoader.Load(); SmartSqlContext = new SmartSqlContext(LoggerFactory.CreateLogger <SmartSqlContext>(), sqlMapConfig); if (DbSessionStore == null) { var dbProviderFactory = DbProviderFactoryFactory.Create(SmartSqlContext.DbProvider.Type); DbSessionStore = new DbConnectionSessionStore(LoggerFactory, dbProviderFactory); } if (DataSourceFilter == null) { DataSourceFilter = new DataSourceFilter(LoggerFactory.CreateLogger <DataSourceFilter>(), DbSessionStore, SmartSqlContext); } if (SqlBuilder == null) { SqlBuilder = new SqlBuilder(LoggerFactory.CreateLogger <SqlBuilder>(), SmartSqlContext, ConfigLoader); } if (PreparedCommand == null) { PreparedCommand = new PreparedCommand(LoggerFactory.CreateLogger <PreparedCommand>(), SmartSqlContext); } if (CommandExecuter == null) { CommandExecuter = new CommandExecuter(LoggerFactory.CreateLogger <CommandExecuter>(), PreparedCommand); } if (DataReaderDeserializerFactory == null) { DataReaderDeserializerFactory = new EmitDataReaderDeserializerFactory(); } if (CacheManager == null) { if (SmartSqlContext.IsCacheEnabled) { CacheManager = new CacheManager(LoggerFactory.CreateLogger <CacheManager>(), SmartSqlContext, DbSessionStore); } else { CacheManager = new NoneCacheManager(); } } ConfigLoader.OnChanged += ConfigLoader_OnChanged; }
public SqlBuilder(ILogger <SqlBuilder> logger, SmartSqlContext smartSqlContext) { _logger = logger; _smartSqlContext = smartSqlContext; }
private void ConfigLoader_OnChanged(object sender, OnChangedEventArgs eventArgs) { SmartSqlContext.SqlMapConfig = eventArgs.SqlMapConfig; SmartSqlContext.Setup(); }