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); } }
public static IConfigurationBuilder AddSqlServerConfiguration(this IConfigurationBuilder builder, string connectionString, string tableName) { var source = new SqlServerConfigurationSource(connectionString, tableName); return(builder.Add(source)); }