🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #21647

Re: connection string [zielony]

#21647
From: Łukasz 'Maly' Ostrowski
Date: Tue, 29 Jun 2010 10:11
44 lines
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-mail
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>

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