Czy ktoś może pochwalić się ich opinią na temat zalet/wad pomiędzy zawijaniem DataContext w instrukcji using, a nie w LINQ-SQL pod względem czynników takich jak wydajność, pamięć wykorzystanie, łatwość kodowania, co trzeba zrobić itdW LINQ-SQL, wrap DataContext jest instrukcją użycia - plusy
Aktualizacja: w jednej konkretnej aplikacji, doświadczyłem, że bez owijania DataContext wykorzystaniem bloku, ilość zużycia pamięci przechowywane na zwiększenie jak żywych obiektów nie zostały wydane dla GC. Jak w, w poniższym przykładzie, jeśli przechowuję odwołanie do listy q obiektu i jednostek dostępu q, tworzę wykres obiektów, który nie jest zwolniony dla GC.
DataContext z użyciem
using (DBDataContext db = new DBDataContext())
{
var q =
from x in db.Tables
where x.Id == someId
select x;
return q.toList();
}
DataContext bez korzystania i utrzymywane przy życiu
DBDataContext db = new DBDataContext()
var q =
from x in db.Tables
where x.Id == someId
select x;
return q.toList();
Dzięki.
Wygląda na duplikat: http://stackoverflow.com/questions/821574/c-linq-to-sql-should-datacontext-be-dposed-using-idisposable/821595 – devuxer
Chciałbym poznać wpływ na pamięć. – hIpPy
podobne do http://stackoverflow.com/questions/821574/c-linq-to-sql-should-datacontext-be-disposed-using-idisposable/821595, dzięki DanM. – hIpPy