Совместное использование строки подключения - PullRequest
3 голосов
/ 06 апреля 2010

Я занимаюсь разработкой библиотеки классов (C #), которую я буду использовать для своих разных проектов (позже). Моя библиотека классов DLL будет использовать строку подключения / контекст данных проекта, который будет ссылаться на мою новую DLL. Как я могу это сделать?
Допустим, у меня есть проект библиотеки классов с именем «CLP» и проект веб-сайта «WP». Я могу добавить ссылку на файл CLP.dll, но как передать строку подключения / объект контекста данных к этой DLL? поскольку CLP.dll будет обращаться к базе данных на основе строки подключения «WP».

Не уверен, что моя проблема ясна или нет!

Ответы [ 2 ]

1 голос
/ 06 апреля 2010

Если вы разрабатываете свою библиотеку классов и для нее требуется строка подключения с именем «ConnectionString», если проект, из которого вы ее вызываете, имеет строку подключения в своем файле конфигурации web / app «ConnectionString», тогда все должно быть в порядке.

Итак, используя названия вашего проекта.Ваш проект класса "CLP" с вашим кодом доступа к данным будет устанавливать соединение, используя строку "ConnectionString":

_serverConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

, а затем вы будете кодировать это соединение.

В Интернете.В конфигурационном файле вашего веб-проекта («WP») вы добавляете следующее:

  <connectionStrings><add name="ConnectionString" connectionString="Data Source=.\SQL2008;Integrated Security=True" providerName="System.Data.SqlClient" /></connectionStrings>

Очевидно, указывает на источник данных и т. д., который вы используете для проекта «WP».

Надеюсь, что этопомогает.

0 голосов
/ 06 апреля 2010

Просто добавьте ответ @ WestDiscGolf:

Вы также можете использовать параметр для передачи имени строки соединения из файла конфигурации (поэтому вам не всегда нужно использовать «ConnectionString»).

Например: в вашем классе DLL вы можете иметь:

public void buildConnection(string sConnectionString){
   //Some code, variables, etc

   _serverConnection = new SqlConnection(ConfigurationManager.ConnectionStrings[sConnectionString]);

   //Some more code, etc etc

}

и вызывая его:

buildConnection("MyConnectionStringNameInTheConfigFile");

** Примечание: я использую void для типа возврата в качестве образца, если у вас есть возврат, просто замените его. Я не знаю ваш проект, поэтому я не хочу делать предположения о том, как вы собираетесь использовать соединение !!

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