Restituire un valore di metodo dall'interno di un'istruzione using che ottiene un DataContext sembra funzionare sempre bene , in questo modo:
public static Transaction GetMostRecentTransaction(int singleId)
{
using (var db = new DataClasses1DataContext())
{
var transaction = (from t in db.Transactions
orderby t.WhenCreated descending
where t.Id == singleId
select t).SingleOrDefault();
return transaction;
}
}
Ma ho sempre la sensazione di dover chiudere qualcosa prima di uscire dalle parentesi quadre usando, ad esempio, definendo la transazione prima dell'istruzione using, ottenendo il suo valore tra parentesi quadre e poi ritornando dopo le parentesi quadre.
Definire e restituire la variabile al di fuori delle parentesi usando sarebbe una pratica migliore o conserverebbe le risorse in qualche modo?