Вы можете сделать сколько угодно конекшин стрингов в настройках, у каждого свое имя. Сделайте абстракцию над подключением к бд, туда будете передавать имя конекшина и работайте с методами этой абстракции уже.
В простом виде это примерно так
<connectionStrings>
<add name="DB1Connection" connectionString="data source=(local);initial catalog=myDB1;" />
<add name="DB2Connection1" connectionString="data source=(local);initial catalog=myDB2;" />
<add name="DB3Connection1" connectionString="data source=(local);initial catalog=myDB3;" />
</connectionStrings>
connectionStringName = "DB3Connection1";
public class MyDbContext : DbContext
{
public MyDbContext(string connectionStringName) : base(connectionStringName)
{ }
}
Если схемы баз один одинаковые, то достаточно одного класса контекста
Как только пользователь тыкнул на другой сервер, Вы разлогинили его, создали новый конекшин и залогинили его по новой, но в выбранном контексте и перегрузили страницу.