Доступ к внешнему SQL Server в MVC 3 + Entity Framework только для запросов - PullRequest
2 голосов
/ 19 октября 2011

Я разрабатываю систему, использующую MVC 3 с EF 4. В этой системе мне нужно найти некоторую информацию, которая уже существует во внешней базе данных.

Сохранение информации о проекте в моей базе данных в порядке. Я определил свои модели на нем и позволил DbContext создавать таблицы на моем сервере.

Проблема заключается в том, что я пытаюсь запросить некоторые данные из внешней базы данных. Я добавил строку подключения в правильном месте на 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>

Можно ли просто создать несколько запросов к этому серверу в моем проекте без перегрузки при воссоздании всех моделей из этой внешней базы данных? Я знаю, что могу восстановить эту строку подключения в своем коде с помощью команды System.Configuration.ConfigurationManager.ConnectionStrings["ExtDBConnectionString"].ConnectionString, но как я могу создать подключение и создать экземпляр моих запросов?

Заранее спасибо!

Редактировать: @rouen вызвал мое беспокойство. Я прямо не сказал, что базы данных разные. Они не имеют одну и ту же схему! Внешняя база данных является выходом отчета; поэтому мне нужно просмотреть его в моем проекте, чтобы импортировать соответствующие строки в локальную базу данных.

Ответы [ 2 ]

0 голосов
/ 19 октября 2011

Я бы просто использовал стандартный ADO.NET. Используйте классы SqlConnection и SqlCommand.

Примеры ADO.NET на MSDN: http://msdn.microsoft.com/en-us/library/dw70f090.aspx

0 голосов
/ 19 октября 2011

Схема удаленной базы данных идентична вашей локальной? Если да, вы можете передать строку подключения в конструктор ObjectContext / DbContext, и он будет использовать эту базу данных.

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

...