Хранилище данных с ASP.NET MVC - PullRequest
0 голосов
/ 11 января 2011

На одном сервере имеется более 20 баз данных с одинаковой структурой, но разными данными. Мне нужно собрать некоторые данные (те же запросы) из всех баз данных и сохранить в новой базе данных, которая находится на другом сервере. Я решил использовать ASP.NET MVC 2, но не представляется логичным использовать более 20 файлов «LINQ to SQL Classes» (.dbml), потому что структура одинакова для всех баз данных и повторяется, если я использую так много эти файлы. Есть ли простой способ использовать один файл .dbml (для удаленных баз данных), но изменить только строку подключения?

Заранее спасибо,
Ilija

Ответы [ 3 ]

2 голосов
/ 11 января 2011

Я согласен, что вы действительно не захотите использовать MVC, поскольку это веб-фреймворк и не имеет ничего общего с перемещением данных.

Вы также можете использовать инструмент ETL для выполнения этой задачи. В прошлом я успешно использовал RhinoETL для достижения чего-то похожего.

На этом сайте также есть несколько постов, посвященных инструментам ETL. Например, проверьте следующую ссылку - https://stackoverflow.com/questions/51198/what-etl-tool-do-you-use

2 голосов
/ 11 января 2011

Согласно this , вы можете передать строку соединения с конструктором dataContext.Таким образом, теоретически у вас должен быть один dbml-файл, но вы можете создать несколько экземпляров своего контекста данных, каждый с определенной строкой соединения с базой данных.Каждый контекст должен затем указывать на соответствующую базу данных и позволять вам работать с несколькими базами данных.

1 голос
/ 11 января 2011

Почему вы хотите использовать ASP.NET MVC вообще? ASP.NET предназначен для веб-интерфейса, а не для хранилищ данных (кроме случаев, когда вам нужно отображать кубы). Похоже, вы используете SQL Server. Если это так, вы можете использовать Integration Services (без DTS) для выполнения этой работы.

...