Нашел интересное решение своей проблемы. Спешу поделиться мини-туториалом.
1. Открываем файл [имя модели].Context.cs и находим там следующий код:
public partial class MainDataModel : DbContext
{
public MainDataModel()
: base("name=MainDataModel")
{
}
...
2. После основного конструктора добавляем свой:
public MainDataModel(string databaseName)
{
Database.Connection.ConnectionString = @"Data Source=MySQLServer;Initial Catalog=" + databaseName + ";Integrated Security=True";
}
3. Теперь можно создавать контексты в таком виде:
using (var context = new MainDataModel("MyFirstDatabase"))
{
...
}
using (var context = new MainDataModel("MySecondDatabase"))
{
...
}
Надо сказать, что это решение попахивает каким-то грязным хаком и надругательством над EF, но других вариантов я пока не нашел.
UPD:
Любое изменение модели приведет к перезаписи файла [имя модели].Context.cs, поэтому лучше вынести это все в код формы или во вспомогательный класс.