DBContext имеет конструктор, который принимает экземпляр DbConnection, который вы можете раскрутить, используя соответствующий класс фабрики.
Я делаю такие вещи в одном из своих приложений:
_context = new MyDbContext(
new SqlConnectionFactory(Properties.Settings.Default.MyConnectionString)
.CreateConnection("DatabaseName"));
Таким образом, я могу прочитать строку соединения во время выполнения и передать ее в класс SqlConnectionFactory
, который даст мне новое соединение, использующее это.
Я не уверен, что в этом случае используется параметр «DatabaseName», так как он все равно находится в строке подключения. Конечно, я убедился, что они одинаковы.