Использование Linq to Sql с различными средами / строками подключения - PullRequest
0 голосов
/ 08 августа 2011

Довольно простой вопрос, который я не могу вспомнить.У нас есть три среды: локальная машина (уникальная для каждого разработчика), разработка и производство.Строки подключения находятся в файле конфигурации (не web.config, а web.config указывает на файл);только один активен в данный момент (два других закомментированы; все три имеют одинаковое имя, но разные значения для каждой среды).

Я использую элементарную версию ActiveRecord шаблон для обработки доступа к данным (т. Е. Статические GetByProperty методы в сгенерированном Linq CS-файле).Чтобы гарантировать, что все мы можем использовать классы Linq, не беспокоясь о конструкторе, все, что мне нужно сделать, это передать этот параметр конфигурации со строкой соединения (например, ConfigurationManager.AppSetting["TheConnectionString"]), когда я впервые добавлю DataContext, правильный?Я собираюсь подходить к обновлению контекста для каждого запроса;есть ли какая-либо проблема (кроме СУХОГО, поскольку я буду повторять всю строку подключения при каждом методе), я должен знать о каждой передаче строки подключения, или это стандартная рабочая процедура?

1 Ответ

1 голос
/ 08 августа 2011

Вы выбрали две из моих наименее любимых вещей (ActiveRecord и LINQ to SQL). ;-) В любом случае, вы можете переместить код в фабричный метод (или аналогичный), чтобы избежать проблемы с СУХОЙ, если это вас особенно беспокоит. Скорее всего, вам придется немного изменить рефакторинг и ре-архитектуру, но вы можете решить эту проблему позже.

Что касается изменения строк подключения в зависимости от среды, это довольно стандартная рабочая процедура, используете ли вы LINQ, DataSets, EF или иным образом. Расположение фактического постоянного хранилища является проблемой конфигурации.

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