/// <summary> /// 查找或者根据约定创建连接字符串 /// </summary> /// <param name="dbSettingName"></param> /// <returns></returns> public static DbSetting FindOrCreate(string dbSettingName) { if (dbSettingName == null) { throw new ArgumentNullException("dbSetting"); //可以是空字符串。 } DbSetting setting = null; if (!_generatedSettings.TryGetValue(dbSettingName, out setting)) { lock (_generatedSettings) { if (!_generatedSettings.TryGetValue(dbSettingName, out setting)) { var config = ConfigurationHelper.GetConnectionString(dbSettingName); if (config != null) { setting = new DbSetting { ConnectionString = config.ConnectionString, ProviderName = config.ProviderName, }; } else { setting = Create(dbSettingName); } setting.Name = dbSettingName; _generatedSettings.Add(dbSettingName, setting); } } } return(setting); }
//private IDbTransaction _transaction; #endregion #region Constructor /// <summary> /// Constructor /// /// this accessor uses <see cref="DbSetting"/> class to find its connection string, and creates connection by itself. /// </summary> /// <param name="connectionStringSettingName">the setting name in configuration file.</param> public DbAccesser(string connectionStringSettingName) { var setting = DbSetting.FindOrCreate(connectionStringSettingName); this.Init(setting); }
public LongTimeDbAccesser(DbSetting setting) : base(setting) { }