Cambiar la cadena de conexión en EF6 en función del proveedor desde la configuración

c# entity-framework-6 orm

Pregunta

Me mudé a EntityFramework 6 desde EF5.

Ahora me enfrento a un problema, quiero cambiar la cadena de conexión en función del proveedor establecido en app.Config. Significado Si es SqlServerCe, entonces necesito cambiar el nombre del archivo DatabaseFile.sdf para cambiar una base de datos. Si es SqlServer, necesito cambiar InitialCataloge.

Hice esto obteniendo el tipo de

'Database.DefaultConnectionFactory' pero esto es obsoleto en EF6.

¿Cómo puedo modificar la cadena de conexión en función del proveedor.

No puedo hacer esto usando el atributo DbConfiguration Attribute ya que necesito modificar la cadena de conexión cada vez.

Respuesta aceptada

Puedes usar

DbConfiguration.SetConfiguration(new YourDbConfiguration());

para que puedas usar tu configuración sin usar un atributo.

Pero si yo uso

DbConfiguration.SetConfiguration(new YourDbConfiguration());

Para configurar una fábrica de SQL CE, la ruta 'C: \ test' se ignorará y también tengo que configurar Database.DefaultConnectionFactory !!




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué