É necessário fechar / descartar um SqlDataReader se você já estiver fechando o SqlConnection?

PercebiEssa questão, mas minha pergunta é um pouco mais específica.

Existe alguma vantagem em usar

using (SqlConnection conn = new SqlConnection(conStr))
{
     using (SqlCommand command = new SqlCommand())
     {
        // dostuff
     } 
}

ao invés de

using (SqlConnection conn = new SqlConnection(conStr))
{
     SqlCommand command = new SqlCommand();
     // dostuff
}

Obviamente, importa se você planeja executar mais de um comando com a mesma conexão, pois o fechamento de umSqlDataReader é mais eficiente do que fechar e reabrir uma conexão (chamandoconn.Close();conn.Open(); também liberará a conexão).

Vejo muitas pessoas insistem que a falha em fechar oSqlDataReader significa deixar recursos de conexão abertos por perto, mas isso não se aplica apenas se você não fechar a conexão?

questionAnswers(5)

yourAnswerToTheQuestion