I am writing a payroll system that will integrate with a pre-existing system. The original system had a master database that handled user management and some global configur
EF6 has better support for multiple DB access from Same context. Here is a snippet from EF5. Managing the database initializer setting prior is important. You may not want to trigger ANY migrations. i.e, use this before
Database.SetInitializer(new ContextInitializerNone
but to answer the question: Yes you can
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 : IDatabaseInitializer where TContext : DbContext
{
public void InitializeDatabase(TContext context) { }
}
Also see StackOverflow answer using migration, sample code, and dynamic db connection