Entity Framework: DbContext y configuración del ProviderName

Cuando derive de DbContext y use el constructor sin parámetros, cargará una cadena de conexión desde web.config. También tiene la opción de especificar explícitamente la cadena de conexión usando uno de los otros constructores de DbContext.

Mi situación particular dicta que la cadena de conexión NO PUEDE especificarse en web.config, ya que la ubicación del servidor / nombre de usuario y la contraseña se determinan en el tiempo de ejecución. Fácil de arreglar, ¿verdad? ¿Solo usa el constructor mencionado anteriormente para especificar la cadena de conexión? Incorrecto.

El problema es que cuando especifica la cadena de conexión utilizando dicho constructor, todavía intenta utilizar el proveedor predeterminado, por lo que si está utilizando uno o más proveedores no estándar, como yo, no funcionará.

Estoy seguro de que puedo cambiar el proveedor predeterminado en web.config, pero quiero usar varios proveedores, así que esto no funcionará.

La única forma posible de evitar esto es usar ObjectContext en lugar de DbContext, que parece permitirle especificar el proveedor junto con la cadena de conexión de la base de datos.

¿Hay alguna otra forma de hacerlo? ¿Es mi solución bastante razonable?

Creo que también puedo crear un DbContext desde una instancia de ObjectContext.

Respuestas a la pregunta(3)

Su respuesta a la pregunta