Article View: alt.pl.comp.lang.csharp
Article #21647Re: connection string [zielony]
From: Łukasz 'Maly' Ostrowski
Date: Tue, 29 Jun 2010 10:11
Date: Tue, 29 Jun 2010 10:11
44 lines
2767 bytes
2767 bytes
On Tue, 29 Jun 2010 11:34:13 +0200, mk wrote:
> A tak przy okazji to jak się powinno zamykać połączenia do bazy danych w
> Linq2SQL? Ja w swoim kodzie wywołuję dwie komendy jedna po drugiej (jak
> poniżej) ale gdzieś znalazłem informację że podobno wystarczy samo
> Dispose().
Tak, wystarczy.
> DBDataContext context = new DBDataContext(ConnectionString);
> context.Connection.Open();
>
> //tu jakiś kod
>
> context.Connection.Close();
> context.Dispose();
>
> Czy powyższe jest OK czy coś tu jest nie tak.
Nie trzeba explicit zamykać i otwierać połączenia,
pozatym lepiej stanowczo zamiast ctx.Dispose()
skorzystać z bloku using():
using(DBDataContext ctx = new DBDataContext("zxc"))
{
...
}
I cała reszta się zrobi sama, i dodatkowo się upewni,
że jeżeli w "..." coś pójdzie nie tak to nie zostawisz
otwartych śmieci. DBDataContext jest disposable bo
dziedziczy z DataContext, DataContext sprząta swoje
rzeczy i deleguje Dispose() do Providera który z kolei
deleguje Dispose() do Connection'a(w przypadku SqlProvider'a
do connection managera który zamyka połączenie).
> (W powyższym kawałku nie uwzględniłem try-catch)
Lepiej pozostawiać kompletne wycinki, minimalistycznie
kompletne. ;-). bo nigdy nie wiadomo czy w try-catch
coś nie jest ,,popsute" co byśmy znaleźli po drodze ;-).
--
Pozdrawiam,
Łukasz 'Maly' Ostrowski. http://l3v.pl/
Technical Details
Message-ID:
<syq3r8gmolvj.g9hev7ag3vfz.dlg@40tude.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mailReferences:
<4c221352$0$19184$65785112@news.neostrada.pl> <op.vetwzvfomsp0fz@mcs> <4c2464fe$0$17101$65785112@news.neostrada.pl> <op.veyew8t4msp0fz@mcs> <b71f57bf-107e-455b-bf4a-8dc968b44a52@q12g2000yqj.googlegroups.com> <4c288545$0$17090$65785112@news.neostrada.pl> <3156a7ac-4af5-412a-91ee-4c09d8063a76@c33g2000yqm.googlegroups.com> <op.ve0o44rdmsp0fz@mcs> <4c290dcd$0$19169$65785112@news.neostrada.pl> <f8ebad89-de43-4af0-8e32-d1478bed3bf8@u26g2000yqu.googlegroups.com> <4c29b01c$0$17100$65785112@news.neostrada.pl> <4c29be16$0$2602$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail From: Łukasz 'Maly' Ostrowski <maly@USUNnemo.pl> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: connection string [zielony] Date: Tue, 29 Jun 2010 12:11:13 +0200 Organization: Acme Lines: 44 Message-ID: <syq3r8gmolvj.g9hev7ag3vfz.dlg@40tude.net> References: <4c221352$0$19184$65785112@news.neostrada.pl> <op.vetwzvfomsp0fz@mcs> <4c2464fe$0$17101$65785112@news.neostrada.pl> <op.veyew8t4msp0fz@mcs> <b71f57bf-107e-455b-bf4a-8dc968b44a52@q12g2000yqj.googlegroups.com> <4c288545$0$17090$65785112@news.neostrada.pl> <3156a7ac-4af5-412a-91ee-4c09d8063a76@c33g2000yqm.googlegroups.com> <op.ve0o44rdmsp0fz@mcs> <4c290dcd$0$19169$65785112@news.neostrada.pl> <f8ebad89-de43-4af0-8e32-d1478bed3bf8@u26g2000yqu.googlegroups.com> <4c29b01c$0$17100$65785112@news.neostrada.pl> <4c29be16$0$2602$65785112@news.neostrada.pl> NNTP-Posting-Host: static-78-9-71-129.ssp.dialog.net.pl Mime-Version: 1.0 X-Trace: news.dialog.net.pl 1277806279 6806 78.9.71.129 (29 Jun 2010 10:11:19 GMT) X-Complaints-To: abuse@dialog.net.pl NNTP-Posting-Date: Tue, 29 Jun 2010 10:11:19 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.15.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit