private static void CleanEmptyBindVariables() { var providerFactories = ConfigurationProvider.ConnectionStrings.Cast <ConnectionStringSettings>() .Select(css => new { css.ProviderName, ConfigurationProvider.GetConnectionConfiguration(css.Name).InfrastructureFactory }); foreach (var providerFactory in providerFactories.DistinctBy(f => f.ProviderName)) { var providerConfiguration = GetProviderConfiguration(providerFactory.ProviderName); foreach (var variable in providerConfiguration.BindVariables.ToArray()) { if (variable.DataType == providerFactory.InfrastructureFactory.DefaultBindVariableType && (variable.Value == null || Equals(variable.Value, String.Empty) || Equals(variable.Value, DateTime.MinValue))) { providerConfiguration.RemoveBindVariable(variable.Name); } } } }
private static void WindowClosedHandler(object sender, EventArgs args) { ConfigurationProvider.Dispose(); }