Когда вы выходите из DbContext и используете конструктор без параметров, он загружает строку соединения из web.config. У вас также есть возможность явно указать connectionString с использованием одного из других конструкторов DbContext.
В моей конкретной ситуации указано, что строка подключения НЕ МОЖЕТ быть указана в файле web.config, так как местоположение сервера/имя пользователя и пароль определяются во время выполнения. Легко исправить? Просто используйте вышеупомянутый конструктор, чтобы указать строку подключения? Неправильно.
Проблема заключается в том, что когда вы указываете строку соединения с использованием указанного конструктора, она по-прежнему пытается использовать поставщика по умолчанию, поэтому, если вы используете один или несколько нестандартных поставщиков, как я, это не сработает.
Я уверен, что могу изменить поставщика по умолчанию в файле web.config, но я хочу использовать несколько поставщиков, чтобы этого не было.
Единственным возможным способом, который я вижу, является использование ObjectContext вместо DbContext, который, как представляется, позволяет указать поставщика вместе со строкой подключения к базе данных.
Есть ли другой способ сделать это? Мое обходное решение довольно разумно?
Я считаю, что я также могу создать DbContext из экземпляра ObjectContext.