static void UsingPostgresDbConnection(NpgsqlConnection connection, Action <NpgsqlConnection> action) { var connectionBuilder = new NpgsqlConnectionStringBuilder(connection.ConnectionString) { Database = connection.Settings.EntityAdminDatabase ?? "template1", Pooling = false }; using (var masterConnection = connection.CloneWith(connectionBuilder.ConnectionString)) { masterConnection.Open();//using's Dispose will close it even if exception... action(masterConnection); } }