//-------------------------------------------------------------------------------------------------------------------------- // Finds all the Connection Strings in web.config, converts them to LocalDB if updateDataSourceToLocalDB is set, and saves //------------------------------------------------------------------------------------------------------------------------- private bool UpdateConfigConnections(bool updateDataSourceToLocalDB, string projectName) { Configuration configuration; DBConnectionList configConnections = GetConfigConnections(out configuration); if (configuration != null && configConnections != null && configConnections.Count > 0) { foreach (DBConnection configConnection in configConnections) { if (configConnection != null && configConnection.IsSQLExpress) { if (updateDataSourceToLocalDB) { configConnection.ConvertToLocalDB(); } // For ALL Projects - Use InitialCatalog instead of AttachDBFileName // We are using NugetPackages to add connection strings in web.config file and by default it had "MultipleActiveResultSets=True" set configConnection.UpdateConnStrToUseInitialCatalog(projectName); } } configuration.Save(); return(true); } return(false); }
//------------------------------------------------------------------------------ // Get collection of connections from provided configuration //------------------------------------------------------------------------------ private DBConnectionList GetConfigConnections(Configuration configuration) { DBConnectionList configConnections = null; if (configuration != null) { ConnectionStringSettingsList connectionStringSettingsList = GetConnectionStringSettingsList(configuration); if (connectionStringSettingsList != null) { foreach (ConnectionStringSettings connectionStringSettings in connectionStringSettingsList) { DBConnection configConnection = new ConfigConnection(ServiceProvider, connectionStringSettings); if (configConnections == null) { configConnections = new DBConnectionList(); } configConnections.Add(configConnection); } } } return(configConnections); }