Example #1
0
        public SqlServerConfigurationProvider(Action <DbContextOptionsBuilder> dbOptionsAction, SqlServerConfigurationSource source)
        {
            _source = source;
            var builder = new DbContextOptionsBuilder <AppConfigDbContext>();

            dbOptionsAction(builder);
            _dbOptions = builder.Options;

            if (_source.ReloadOnChange)
            {
                _reloadTimer           = new Timer();
                _reloadTimer.AutoReset = false;
                _reloadTimer.Interval  = TimeSpan.FromSeconds(_source.RefreshInterval).TotalMilliseconds;
                _reloadTimer.Elapsed  += (s, e) => { OnReload(); };
                ChangeToken.OnChange(() => _reloadToken, Load);
            }
        }
Example #2
0
        public static IConfigurationBuilder AddSqlServerConfiguration(this IConfigurationBuilder builder, string connectionString, string tableName)
        {
            var source = new SqlServerConfigurationSource(connectionString, tableName);

            return(builder.Add(source));
        }