Я заметил Этот вопрос , но мой вопрос немного более конкретен.
Есть ли преимущество в использовании
using (SqlConnection conn = new SqlConnection(conStr))
{
using (SqlCommand command = new SqlCommand())
{
// dostuff
}
}
вместо
using (SqlConnection conn = new SqlConnection(conStr))
{
SqlCommand command = new SqlCommand();
// dostuff
}
Очевидно, что имеет значение, если вы планируете выполнить более одной команды с одним и тем же соединением, поскольку закрытие SqlDataReader
более эффективно, чем закрытие и повторное открытие соединения (вызов conn.Close();conn.Open();
также освободит соединение). 1013 *
Я вижу, что многие люди настаивают на том, что неспособность закрыть SqlDataReader
означает оставить открытые ресурсы для соединения, но разве это не применимо, если вы не закрываете соединение?