Переключение соединения сервера и базы данных в приложении C #? - PullRequest
0 голосов
/ 15 ноября 2011

В настоящее время я работаю над приложением ASP .Net MVC 3, чтобы выполнить некоторые манипуляции с базой данных для определенного набора таблиц метаданных в базе данных. В основном я буду делать вставки, обновления, удаления и т. Д. Из приложения. Однако цель состоит в том, чтобы перенести эти таблицы метаданных в разные базы данных (и, скорее всего, также на серверы), чтобы мы могли использовать одну и ту же методологию для клиентов.

Сейчас я использую Linq2Sql для генерации ORM вокруг этих конкретных таблиц метаданных. Цель состоит в том, чтобы использовать одно и то же приложение для манипулирования данными между серверами и базами данных. Какова лучшая практика / подход для этого?

Самое простое решение, о котором я подумал, - это конструктор для моего DataContext, где я мог бы использовать пользовательский ввод (сервер + имя базы данных + ID пользователя + пароль), чтобы манипулировать строкой соединения и передавать ее в мой DataContext. Поскольку Framework должен быть одинаковым для всех баз данных и серверов, это должно работать теоретически. Тем не менее, я не там, где лучше всего поддерживать измененную строку подключения (сеанс «cookie»).

Какова лучшая практика такого переключения серверов / баз данных в приложении .Net?

1 Ответ

1 голос
/ 15 ноября 2011

Вы идете по правильному пути, передавая соединение в конструкторе для контекста.Что касается поддержки строки подключения, я подозреваю, что это будет зависеть от того, как вы управляете информацией другого сайта для ваших различных сайтов.Если вы управляете этим в центральной базе данных, сохраните значение, специфичное для сайта, в этой центральной базе данных и используйте то же постоянство, которое вы используете для этих настроек сайта, пока пользователь посещает ваш сайт.Просто убедитесь, что клиенту не передается специфическая информация о сервере (поэтому использование cookie-файлов не является рекомендуемым подходом).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...