Можно ли легко переключаться между двумя строками подключения с помощью LINQ to SQL DataContexts? - PullRequest
1 голос
/ 16 марта 2012

Я не понимаю, как сделать то, что написано в названии.

По сути, в моем конфигурационном файле есть две строки подключения: рабочая и рабочая.

У меня есть простой проект библиотеки классов, который по сути является моим уровнем доступа к данным, и я хочу провести его модульное тестирование. Я не хочу запускать все модульные тесты в моей производственной базе данных, поэтому мне бы хотелось, чтобы она использовала другую строку подключения.

При запуске и закрытии моего тестового проекта он создаст необходимые таблицы и временные данные в моей базе данных разработки, в то время как в моем реальном проекте я хотел бы использовать производственный.

В моей библиотеке классов слоя доступа к данным я просто предоставляю DataContext или какой-либо метод для переключения режимов (отладка, производство)? Тогда единственный способ изменить строку подключения - это свойство DataContext.Connection.ConnectionString ... но я не уверен, что это правильно.

Любое понимание этого было бы замечательно.

Ответы [ 2 ]

1 голос
/ 17 марта 2012

При создании нового экземпляра datacontext вы можете передать строку соединения, которую вы собираетесь использовать с ним:

MyDataContext context = new MyDataContext(connectionString);
1 голос
/ 17 марта 2012

Если вы разрабатываете веб-решение, вы можете использовать преобразование web.config для получения различных файлов .config для отладки и производства.

Если вы создаете настольное решение, то оносложнее, но есть обходные пути.См. Эту статью SO: Преобразование App.Config для проектов, не являющихся веб-проектами в Visual Studio 2010?

...