AFAIK, невозможно установить строку подключения динамически, однако вы можете написать собственную фабрику базы данных, чтобы создать базу данных с динамической строкой подключения
public static class CustomDatabaseFactory
{
static readonly DbProviderFactory dbProviderFactory = DbProviderFactories.GetFactory("System.Data.SqlClient");
public static Database CreateDatabase(string connectionString)
{
return new GenericDatabase(connectionString, dbProviderFactory);
}
}
и вместо вызова этого
Database db = DatabaseFactory.CreateDatabase();
вызовите этот метод
Database db = CustomDatabaseFactory.CreateDatabase(connstring);
хорошо сработал для меня!