SqlConnection SqlCommand SqlDataReader IDisposable

SqlConnection , SqlCommand e SqlDataReader implementano l’interfaccia IDisposable . Ho letto di una buona pratica per avvolgere sempre IDisposables in un blocco using .

Quindi, il mio scenario comune per l’interrogazione dei dati sarebbe simile a questo (in un contesto più ampio ovviamente uno strumento di mapping come linq2sql sarebbe adatto, ma lascia supporre che vogliamo usare questo approccio qui):

 using (SqlConnection cn = new SqlConnection("myConnectionstring")) { using (SqlCommand cm = new SqlCommand("myQuery", cn)) { // maybe add sql parameters using (SqlDataReader reader = cm.ExecuteReader()) { // read values from reader object return myReadValues; } } } 

È questo il modo corretto o potrebbe essere considerato eccessivo? Sono un po ‘incerto su questo livello di nidificazione using blocchi, ma ovviamente voglio farlo nel modo corretto. Grazie!