Pregunta

Estoy devoliendo un sistema que usa MVC 3 con EF 4. En este sistema, necesito buscar información que ya exista en una base de datos externa.

Guardarme la información del proyecto sobre mi la base de datos está bien. Definí mis modelos y dejé que DBContext cree las tablas en mi servidor.

El problema es cuando intento consultar algunos datos de la base de datos externa. He agregado la cadena de conexión en el lugar correctamente en Web.config:

<connectionStrings>
    <add name="ExtDBConnectionString" connectionString="Data Source=path.to.server;Initial Catalog=DBName;Persist Security Info=True;User ID=user;Password=pass;Pooling=True;Min Pool Size=5;Max Pool Size=60;Connect Timeout=2;" providerName="System.Data.SqlClient" />
</connectionStrings>

¿Es posible crear algunas consultas para este servidor en mi proyecto sin la sobrecarga de recrear todos los modelos de esta base de datos externa? Sé que puedo recuperar esta cadena de conexión en mi código usando el comando System.Configuration.ConfigurationManager.ConnectionStrings["ExtDBConnectionString"].ConnectionString, pero ¿cómo puedo crear una conexión e instanciar mis consultas?

¡Gracias por adelantado!

Editar: @Rouen llamó a My Atention No dije explícitamente que las bases de datos son diferentes. Ellas hacen no ¡Comparte el mismo esquema! La base de datos externa es la salida de un informe; Por lo tanto, necesito atravesarlo en mi proyecto para importar las líneas relevantes a la base de datos local.

¿Fue útil?

Solución

Solo usaría ADO.NET estándar. Use las clases SQLConnection y SQLCommand.

ADO.NET Ejemplos en MSDN:http://msdn.microsoft.com/en-us/library/dw70f090.aspx

Otros consejos

¿La base de datos remota es esquemánticamente idéntica como su local? En caso afirmativo, puede pasar ConnectionString al constructor de ObjectContext/DBContext, y usará esa base de datos.

http://msdn.microsoft.com/en-us/library/gg679467%28v=vs.103%29.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top