Entity Framework: DbContext e definindo o ProviderName

Quando você deriva de DbContext e usa o construtor sem parâmetros, ele carregará uma string de conexão do web.config. Você também tem a opção de especificar explicitamente o connectionString usando um dos outros construtores DbContext.

Minha situação específica determina que a cadeia de conexão NÃO PODE ser especificada no web.config, pois a localização do servidor / nome de usuário e senha são determinados no tempo de execução. Correção fácil, certo? Basta usar o construtor mencionado acima para especificar a string de conexão? Errado.

O problema é que quando você especifica a string de conexão usando o dito construtor, ele ainda tenta usar o provedor padrão, então se você estiver usando um ou mais provedores não padrão, como eu, ele não funcionará.

Tenho certeza que posso mudar o provedor padrão no web.config, mas eu quero usar vários provedores, então isso não funcionará.

A única maneira possível em torno disso que eu posso ver é usar ObjectContext em vez de DbContext, que parece permitir que você especifique o provedor junto com a cadeia de conexão do banco de dados.

Existe alguma outra maneira de fazer isso? Minha solução é razoavelmente razoável?

Eu acredito que também posso criar um DbContext de uma instância ObjectContext.

questionAnswers(3)

yourAnswerToTheQuestion