🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Linq, ASP.NET - jak rozwiązać problem child table?

#22257
From: s
Date: Wed, 05 Oct 2011 18:43
45 lines
2651 bytes
Witam,

Po raz pierwszy biore sie za napisanie czegos bardziej zlozonego w 
ASP.NET i mam taki oto dylemat:

stronka z formatka opisujaca jakis tam obiekt, powiedzmy - dzial w firmie.
Mozna tu dodawac dzial, mozna edytowac, jezeli w parametrze poda sie ID 
dzialu.

Ta sama stronka ma w sobie ListView z fotkami i podstawowymi danymi 
pracownikow. Mozna tu dodac pracownika, usunac, mozna tez edytowac ich dane.

Tabela pracownicy oczywiscie podpieta jest relacja pod tabele z dzialami.

Dodalem do projektu LInq Classes, zawierajace obydwie tabele.
W ramach rzeczonej formatki podpinam obiekt "dzial" w kodzie, przez 
DataContext.

ListView z kolei zasilam z LinqDataSource.
I tu mam problem, bo gdy dodaje za posrednictwem formatki nowych 
pracownikow do nowego dzialu, to sila rzeczy pracownicy od razu 
pojawiaja sie w bazie z IdDzialu nullowym. I wszyscy pracownicy 
oczywiscie pojawiaja sie na formatce, niezaleznie od tego kto jaki dzial 
probuje rejestrowac.

Probowalem na Page_Load ustawic id dzialu = -1 (da nowego dzialu) i 
takiz wpisywac do kazdego nowego pracownika w zdarzeniu ItemInserting, 
ale wowczas oczywiscie burzy mi sie relacja na bazie, ze wstawiam 
pracownikow z lipnym kluczem dzialu, bo przeciez w momencie pracy z 
ListView nowy obiekt "dzial" jeszcze nie zostaje zapisany.

Jaki jest prawidlowy i elegancki sposob rozwiazania tego problemu?
Probowalem podpinac ListView pod pusta Liste obiektow typu pracownik (i 
potem dodawac do Contextu recznie w kodzie), ale ta z kolei oczywiscie 
nie trzymala ViewState, zreszta nie brzmi mi to jak szczegolnie 
elegancki sposob.

Problem pewnie jest trywialny, a ja mam nawet problem z wygooglaniem 
czegos takiego. Trafiam na mase artykulow opisujace rozne scenariusze, 
ale akurat moj przypadek nadal pozostaje dla mnie zagadka...

Heeelp!

Pozdr
Slawek
Technical Details
Message-ID: <j6i8h1$jcm$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: s <s@krzak.wp.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Linq, ASP.NET - jak rozwiązać problem child
 table?
Date: Wed, 05 Oct 2011 20:43:44 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 45
Message-ID: <j6i8h1$jcm$1@inews.gazeta.pl>
NNTP-Posting-Host: public8349.cdma.centertel.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1317840225 19862 188.47.32.157 (5 Oct 2011 18:43:45 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Wed, 5 Oct 2011 18:43:45 +0000 (UTC)
X-User: slmroz75
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit