Article View: alt.pl.comp.lang.csharp
Article #21266Re: Enumeration w bazie danych
From: Karol
Date: Tue, 08 Dec 2009 21:09
Date: Tue, 08 Dec 2009 21:09
74 lines
3010 bytes
3010 bytes
Użytkownik "mk" <mk@nospam.com> napisał w wiadomości grup
dyskusyjnych:hfl659$raf$1@atlantis.news.neostrada.pl...
> Witam,
Witam
> Korzystam z dostępu do danych w MSSQL za pomocą Linq. Mam tam tabelę
> powiedzmy "województwa", która ma dwie kolumny Guid i Name i przechowuje
> nazwy województw (16 rekordów).
>
> Nsatępnie w kodzie, żeby rozróżnić które województwo zostało wybrane robię
> coś takiego:
>
> string strWojewodztwo = (tu jakies query);
>
> switch(strWojewodztwo)
> {
> case "mazowieckie":
> //rob cos
> break;
> case "malopolskie":
> //rob cos
> break;
> case "dolnoslaskie":
> //rob cos
> break;
> case "slaskie":
> //rob cos
> break;
> .....
> }
>
> Wydaje mi się że nie jest to najlepszy pomysł żeby switch() orientował się
> na podstawie wartości typu string. O wiele lepiej było by zrobić
Stringi w C# są przechowywane w "magazynie stringów", zmienna przechowuje
tylko id z "magazynu".
Więc porównywanie stringów nie jest kosztowne, faktycznie jest to porównanie
dwóch id. Ja bym zostawił na stringach tego switcha.
> public enum BinaryDataType
> {
> mazowieckie,
> malopolskie,
> doloslaskie,
> slaskie,
> ....
> }
>
> Tylko jak dane z takiego enum'a sprząc z daymi w bazie?
> Chodzi o to, że w jakiejs innej tabeli zamiast Guid wojewodztwa musialbym
> przechowywac numer zgodny z tym w enumie.
Problemy przy zmianie enuma lub bazy. Bym raczej unikał.
> P.S.
> Wojewodztwa to tylko przyklad. W rzeczywistosci bede przetrzymywal inne
> wartosci.
>
> __________ Informacja programu ESET Smart Security, wersja bazy sygnatur
> wirusow 4671 (20091208) __________
>
> Wiadomosc zostala sprawdzona przez program ESET Smart Security.
>
> http://www.eset.pl lub http://www.eset.com
>
>
__________ Informacja programu ESET Smart Security, wersja bazy sygnatur wirusow 4671 (20091208) __________
Wiadomosc zostala sprawdzona przez program ESET Smart Security.
http://www.eset.pl lub http://www.eset.com
Technical Details
Message-ID:
<hfmfau$cbq$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mailReferences:
<hfl659$raf$1@atlantis.news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail From: "Karol" <karol69@op.pl> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: Enumeration w bazie danych Date: Tue, 8 Dec 2009 22:09:49 +0100 Organization: http://onet.pl Lines: 77 Message-ID: <hfmfau$cbq$1@news.onet.pl> References: <hfl659$raf$1@atlantis.news.neostrada.pl> NNTP-Posting-Host: chello089074163246.chello.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1260306590 12666 89.74.163.246 (8 Dec 2009 21:09:50 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Tue, 8 Dec 2009 21:09:50 +0000 (UTC) In-Reply-To: <hfl659$raf$1@atlantis.news.neostrada.pl> X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 14.0.8089.726 X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8089.726 X-EsetScannerBuild: 6181 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit