Olá Marcelo, tudo bem?
É possível sim, é só você passar o dataSource e o dbName como parâmetro. Veja se esse código faz sentido:
var conn = GetSqlConn4DbName(dataSource,dbName );
var ctx = new MyDbContext(conn,true);
public DbConnection GetSqlConn4DbName(string dataSource, string dbName) {
var sqlConnStringBuilder = new SqlConnectionStringBuilder();
sqlConnStringBuilder.DataSource = String.IsNullOrEmpty(dataSource) ? DefaultDataSource : dataSource;
sqlConnStringBuilder.IntegratedSecurity = true;
sqlConnStringBuilder.MultipleActiveResultSets = true;
var sqlConnFact = new SqlConnectionFactory(sqlConnStringBuilder.ConnectionString);
var sqlConn = sqlConnFact.CreateConnection(dbName);
return sqlConn;
}
public class ContextInitializerNone<TContext> : IDatabaseInitializer<TContext> where TContext : DbContext
{
public void InitializeDatabase(TContext context) { }
}
Qualquer coisa é só falar!
Vitor