Сокращение для получения строки подключения из файла конфигурации? - PullRequest
1 голос
/ 03 февраля 2011

Я создавал соединение SQL, и когда я дошел до точки:

SqlCommand cmd = new SqlCommand("test",

intellisense подсказал мне connection:.Я попытался закончить это с:

SqlCommand cmd = new SqlCommand("test", connection:ConnStringName);

, но это вылетело.Есть ли короткий путь для меня, чтобы получить строку подключения из моего файла конфигурации?Кажется, я помню, как делал это раньше, но думаю, что это было в файле .aspx, а не в файле .cs.

Ответы [ 4 ]

2 голосов
/ 03 февраля 2011

Что вы видите, так это то, что Visual Studio представляет вам именованный параметр .

Когда вы смотрите на класс SqlCommand, у него есть несколько конструкторов - например, здесь:

public SqlCommand(
    string cmdText,
    SqlConnection connection,
    SqlTransaction transaction
)

Таким образом, с помощью именованных параметров .NET 4 вы можете представить вызов этого конструктора с помощью:

SqlCommand cmd = new SqlCommand("...", connection:AValidSqlConnectionHere)

, но вам нужно будет предоставитьзначение типа SqlConnection для параметра connection.Это не ярлык для загрузки параметра конфигурации или чего-то еще - это просто intellisense для именованных параметров ...

Прямо сейчас класс SqlCommand имеет целую серию перегруженных конструкторов, чтобы справиться с различнымисценарии предоставления более или менее значений параметров.В .NET 4.0 и именованных и необязательных параметрах вы можете создать только один конструктор (или любой другой метод) и предоставить значения по умолчанию для некоторых параметров, а также позволить пользователю вызывать ваш метод (или конструктор) сименованные параметры, чтобы точно предоставить информацию, которую он имеет для вызова.

2 голосов
/ 03 февраля 2011

Используйте класс ConfigurationManager.

ConfigurationManager.ConnectionStrings["YourConnectionStringName"];
0 голосов
/ 03 февраля 2011

Вы имеете в виду, как это:

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["nameofconnection"].ConnectionString
SqlCommand cmd = new SqlCommand("test", con);
0 голосов
/ 03 февраля 2011

Посмотрите на класс ConfigurationManager, вы можете получить доступ к строкам подключения оттуда

...