Usuario
Usar multiples Base de datos y un solo .EDMX

Pregunta
-
Hola a todos,
Estoy en un proyecto, donde lo que se quiere hacer es que por medio de un archivo de configuración, al momento de instanciar el contexto (el acceso a la base de datos), obtenga un objeto ya sea para SqlServer u Oracle y pueda realizar el CRUD, algo asi como el siguiente código.
// Yo pueda mandar cualquier nombre de conección ya sea para Oracle ó SqlServer y pueda trabajar normalmente.
ContextoDB oContextoDB = new ContextoDB("ContextoOracle"); TABLA_TEST oTablaTest = new TABLA_TEST(); oTablaTest.ID = 1; oTablaTest.NOMBRE = "Prueba 1"; oTablaTest.ESTADO = true; oContextoDB.TABLA_TEST.Add(oTablaTest); oContextoDB.SaveChanges();
Gracias por la ayuda
zambrano
Todas las respuestas
-
hola
pero la cadena de conexion la cambias directamente en el archivo .config ?
si es asi podrias conectarte a Sql Server u Oracle cambiando ademas el proveedor desde la configuracion
pero no entiendo si defines fijas ambos connection string y usas un key diferente para cada uno o si quieres armar esto dinamicamente
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Hola Leandro, gracias por responder.
1- Pero el .edmx que lo hago para Sql Server me serviría también para Oracle ?
2- En el web.config tengo las dos cadenas de conexión, y dependiendo de cual base de datos voy a utilizar, se la paso como parámetro.
* De lo que he leído, hablan de crear un archivo .ssdl para alguna de la Base de Datos y así se puede tener un mismo .edmx para múltiples Base de Datos.
Gracias.
zambrano
-
hola
>>Pero el .edmx que lo hago para Sql Server me serviría también para Oracle ?
en principio deberia aunque quizas no sea tan magico
Is it possible to create a generic EDMX model which work with both sql server and oracle?
Entity Framework Oracle and Sql Server - how to build a database independent application
no te animas a evaluar EF Code First, hasta donde entiendo este seria mas transparente al ambio de base de datos
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina