Devolver un valor de método desde el interior de una instrucción de uso que obtiene un DataContext parece funcionar siempre bien , así:
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;
}
}
Pero siempre siento que debería cerrar algo antes de salir de los corchetes de uso, por ejemplo, al definir la transacción antes de la declaración de uso, obtener su valor dentro de los corchetes y luego regresar después de los corchetes.
¿Definir y devolver la variable fuera de los corchetes de uso sería una mejor práctica o conservaría los recursos de alguna manera?