Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dodavanje itema u SelectList

[es] :: .NET :: ASP.NET :: Dodavanje itema u SelectList

[ Pregleda: 2259 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon Dodavanje itema u SelectList15.05.2015. u 16:20 - pre 57 meseci
Pozdrav!

Kako da u

Code:
var lista = new SelectList(from a in baza_kon.Users
                                        join ms in baza_kon.Memberships on a.UserId equals ms.UserId
                                        where ms.IsApproved == true
                                        select a, "UserName", "UserName");


dodam još nekoliko itema ?

Hvala!

 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12600



+4567 Profil

icon Re: Dodavanje itema u SelectList15.05.2015. u 16:45 - pre 57 meseci
Code:

List<User> UsersList = (from a in baza_kon.Users
                                        join ms in baza_kon.Memberships on a.UserId equals ms.UserId
                                        where ms.IsApproved == true
                                        select a).ToList();
UsersList.Add(new User() { Name = "Pera" } );
UsersList.Add(new User() { Name = "Mika" } );
UsersList.Add(new User() { Name = "Laza" } );

SelectList lista = new SelectList(UsersList);


[Ovu poruku je menjao Shadowed dana 16.05.2015. u 00:25 GMT+1]
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Dodavanje itema u SelectList15.05.2015. u 17:06 - pre 57 meseci
Pozdrav!

Da , to je to...

Hvala puno!

Pozdrav!

Patak
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12600



+4567 Profil

icon Re: Dodavanje itema u SelectList16.05.2015. u 01:47 - pre 57 meseci
Hajd' da napisem i malo detalja.. Mozda bude od koristi, tebi ili nekom drugom.

Samo cu prethodno pojednostaviti primer (manje kucanja i lakse za kapiranje) tako sto cu izbaciti join i pretpostaviti da je IsApproved property klase User.

U tom slucaju bi pocetni primer bio:

Code:
var lista = new SelectList(from a in baza_kon.Users where u.IsApproved == true select a, "UserName", "UserName");


Ovo se prilikom kompajliranja prevodi na sledeci oblik:

Code:
SelectList lista = new SelectList(baza_kon.Users.Where(u => u.IsApproved), "UserName", "UserName");


(Select deo je nebitan posto se selektuje ceo User objekat)

E sad, SelectList trazi IEnumerable u konstruktoru.
baza_kon.Users.Where(...) vraca IQuerable<User> pri cemu IQuerable<T> nasledjuje IEnumerable<T> (koji nasledjuje IEnumerable).
Zbog toga se taj rezultat moze proslediti direktno konstruktoru.

U onom mom primeru resenja dobijeni rezultat konverujemo u List<User> koji podrzava dodavanje elemenata i onda mu jednostavno dodajemo nove User objekte kao sto je prikazano.
Posto List<T> implementira IEnumerable<T>, ta lista se moze direktno dati SelectList konstruktoru sto smo na kraju i uradili.



Naravno, ovo nije jedino resenje, moze se koristiti Union ili Concat u prvobitnom query-u.
Inace, predlazem koriscenje extension metoda direktno umesto preko sql-like query-a, lakse je za razumevanje a i kod je kompaktniji a i dalje citljiv (mozda cak i citljiviji).
 
Odgovor na temu

patak_daca

Član broj: 72199
Poruke: 418
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Dodavanje itema u SelectList16.05.2015. u 05:34 - pre 57 meseci
Pozdrav!

Hvala puno!
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: Dodavanje itema u SelectList

[ Pregleda: 2259 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.