É necessário descartar SqlConnection e SqlCommand?
É necessário descartar separadamente um SqlConnection e um SqlCommand?
Estou fazendo alguns trabalhos de manutenção em um aplicativo e encontrei o seguinte código:
public void CallStoredProc(string storedProcName)
{
using (SqlCommand command = new SqlCommand(storedProcName, CreateConnection()))
{
command.CommandType = CommandType.StoredProcedure;
command.Connection.Open();
// Additional code here.
command.ExecuteNonQuery();
}
}
Isso limpará o SqlConnection corretamente, em circunstâncias normais e se houver um erro? Ou teríamos que alterar o código para algo como:
public void CallStoredProc(string storedProcName)
{
using (SqlConnection connection = CreateConnection())
{
using (SqlCommand command = new SqlCommand(storedProcName, connection))
{
command.CommandType = CommandType.StoredProcedure;
command.Connection.Open();
// Additional code here.
command.ExecuteNonQuery();
}
}
}