Пример #1
0
        /// <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);
        }
Пример #2
0
        //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);
        }
Пример #3
0
 public LongTimeDbAccesser(DbSetting setting) : base(setting)
 {
 }