Изменение решения с ASP.NET MVC 2 на? - PullRequest
0 голосов
/ 22 ноября 2010

Я работал над приложением ASP.NET MVC 2, похожим на SQL MDS.Приложение, которое мы называем приложением ADMIN, предназначено для разработчиков, чтобы настраивать нетранзакционные данные о клиентах, чтобы передавать их на борт.

Приложение, однако, было создано для нацеливания на базу данных SQL в одной среде UAT / LIVE / QA и т. Д. В двух словах приложение развертывается вместе с базой данных.

Новое требование - приложениедолжны быть нацелены на несколько БД.Другими словами, введенные данные клиента должны быть подготовлены / перенесены в UAT, а затем в среду LIVE.Это гарантирует, что данные клиента не нужно будет вводить несколько раз.Это новое требование застало меня врасплох.

Я не могу работать с одним сайтом, нацеленным на несколько БД, так как среды сегрегированы и не разрешен перекрестный доступ к сети env.Что справедливо.

Другой подход, о котором я думал, - экспортировать объектный граф полномочий в виде пакета (поскольку я использую LINQ2SQL) для импорта в следующую среду с использованием serialize / deserialize.Однако я боюсь, что у меня могут возникнуть проблемы с идентификаторами и ссылочной целостностью.Кто-нибудь пробовал это?

Поскольку я использую DI / IoC, поэтому архитектура слабо связана.Какие еще решения можно попробовать, не прибегая к усилиям по разработке?Должен ли я использовать подход Winform и поручить разработчикам иметь сетевой доступ ко всем серверам SQL?

Любые мысли будут очень цениться ... Дакс

Ответы [ 2 ]

0 голосов
/ 22 ноября 2010

Все ли базы данных имеют одинаковую схему?Если да, разве вы не можете просто изменить строки подключения на лету и подключиться к какой-либо базе данных, которая вам нужна?

0 голосов
/ 22 ноября 2010

Если я правильно понимаю вашу проблему, думаю, вы могли бы рассмотреть возможность использования ETL для передачи данных между различными базами данных при каждом их обновлении. Rhino ETL - хороший инструмент для перемещения данных.

Здесь - ссылка на использование, здесь - ссылка на репозиторий git.

...