Среда:
ASP.Net 4.0
MVC 4
SQL Server 2005
Visual Studio 2010
Проблема:
У нас есть база данных SQL 2005, которая транзакционно реплицируется на отдельный сервер, потому что ряд больших бизнес-запросов выполняется к данным и замедляет работу системы.Вторичный сервер используется для всех отчетов (только для чтения), в то время как основной сервер используется для повседневной работы.Наш старый код использует хранимые процедуры для доступа к базе данных, и было относительно легко поддерживать разные строки подключения, и все отчеты использовали строку подключения к серверу отчетов.Однако недавно мы начали писать весь наш новый код с использованием Entity Framework для доступа к данным, и я не знаю, как работать с двумя разными серверами.
Простым решением было бы, возможно, просто поддерживать два .edmx и указывать все отчеты на второй .edmx.Однако я сильно не люблю этот метод, так как он требует, чтобы разработчики поддерживали два разных файла.
Кто-нибудь еще сталкивался с этим сценарием и придумал более подходящее решение?Можно ли как-то использовать один и тот же .edmx для обоих серверов (поскольку они идентичны), но каким-то образом указать на уровне контроллера или действия, какую строку подключения использовать?
В идеале я ищу решение, которое делаетне требует ручной записи SSDL.Я хотел бы продолжить использовать конструктор и функции «Обновить модель из базы данных».
Спасибо за ваше время, Мирзеро