| Ultimo messaggio | 3 pagine: [1] 2 3 Avanti >>
Linq e query con parametri multipli
Studiodb
Studiodb non è online. Ultima attività: 10/07/2009 12.04.24Studiodb
il 3 luglio 2009 alle 12:17
12 messaggi dal 21 marzo 2006
Ciao, essendo un novizio di Linq mi si stà ponendo un problema..
ho una pagina di ricerca, dove seleziono le categorie di ricerca ..
fin qui nulla di difficile.
Ma se la selezione è multipla... prima avrei concatenato stringhe alla queri dicendo "i=1" .."|| i=22"... "|| i=33"

in jQuery come posso fare sta cosa???

ad esmepio :

from p in context.rPlayers
join d in context.PlayersDescriptions on p.id_Player equals d.id_Player
join c in context.PositionIndexes on p.id_Position equals c.id_Position
join cn in context.PositionsNames on c.id_Position equals cn.id_Position
where cn.pName == lb_Position.SelectedItem.Text
select new { p.id_Player, p.Name, p.Surname};

qui vorrei selezionare i giocatori che fanno parte della categoria x && y
Modificato da Studiodb il 03 luglio 2009 12.22 -
Modificato da Studiodb il 03 luglio 2009 12.30 -
RE: Linq e query con parametri multipli
nostromo
nostromo non è online. Ultima attività: 09/02/2010 11.49.13nostromo Top Poster
il 3 luglio 2009 alle 14:17
la tua query restituisce un tipo IQuerable<T>, come tale puoi aggiungere tutte le condizioni che vuoi

var _query = (from p in context.rPlayers
join d in context.PlayersDescriptions on p.id_Player equals d.id_Player
join c in context.PositionIndexes on p.id_Position equals c.id_Position
join cn in context.PositionsNames on c.id_Position equals cn.id_Position
where cn.pName == lb_Position.SelectedItem.Text)

if(qualcosa)
{
_query = query.Where(p => p.Proprietà == qualcosa2)
}

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Linq e query con parametri multipli
Studiodb
Studiodb non è online. Ultima attività: 10/07/2009 12.04.24Studiodb
il 3 luglio 2009 alle 14:33
12 messaggi dal 21 marzo 2006
nostromo ha scritto:

if(qualcosa)
{
_query = query.Where(p => p.Proprietà == qualcosa2)
}

grazie nostromo
ho buttato giù il codice al volo..


var res = from p in EOdb.rPlayers
join d in EOdb.PlayersDescriptions on p.id_Player equals d.id_Player
join c in EOdb.PositionIndexes on p.id_Position equals c.id_Position
join cn in EOdb.PositionsNames on c.id_Position equals cn.id_Position
where cn.Region == "EN-en" && p.Disabled != true
select new { p.id_Player, p.Name, p.Surname, p.Pound, p.Height, p.caricature, cn.pName, p.BirthDate, d.Description };

foreach (int i in lb_Position.GetSelectedIndices())
{
var _res = res.Where(cn => cn.pName == lb_Position.Items[i].Text);
//così mi applicherebbe solo l'ultima che legge...no???
}

ma come posso sommare i filtri a seconda di quanti ne seleziona l'utente...
mica posso mettere il for each dentro il res.where?!
RE: Linq e query con parametri multipli
nostromo
nostromo non è online. Ultima attività: 09/02/2010 11.49.13nostromo Top Poster
il 3 luglio 2009 alle 15:26
dichiara res fuori dal ciclo

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Linq e query con parametri multipli
Studiodb
Studiodb non è online. Ultima attività: 10/07/2009 12.04.24Studiodb
il 3 luglio 2009 alle 15:53
12 messaggi dal 21 marzo 2006
nostromo ha scritto:
dichiara res fuori dal ciclo


ho provato così ma se seleziono solo 1 valore funziona se ne seleziono + di uno .. nn vedo nulla
Il fatto è che O sono di una categoria o dell'altra quindi dovrei mettere un OR non un and...


var res = from p in EOdb.rPlayers
join d in EOdb.PlayersDescriptions on p.id_Player equals d.id_Player
join c in EOdb.PositionIndexes on p.id_Position equals c.id_Position
join cn in EOdb.PositionsNames on c.id_Position equals cn.id_Position
where cn.Region == "EN-en" && cn.pName == lb_Position.SelectedItem.Text && p.Disabled != true
select new { p.id_Player, p.Name, p.Surname, p.Pound, p.Height, p.caricature, cn.pName, p.BirthDate, d.Description };
var _res = res;
foreach (int i in lb_Position.GetSelectedIndices())
{
_res = res.Where(cn => cn.pName == lb_Position.Items[i].Text);
}
RE: Linq e query con parametri multipli
nostromo
nostromo non è online. Ultima attività: 09/02/2010 11.49.13nostromo Top Poster
il 3 luglio 2009 alle 16:03
cambia "==" con la condizione che ti serve

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Linq e query con parametri multipli
Studiodb
Studiodb non è online. Ultima attività: 10/07/2009 12.04.24Studiodb
il 3 luglio 2009 alle 16:10
12 messaggi dal 21 marzo 2006
nostromo ha scritto:
cambia "==" con la condizione che ti serve


Ciao grazie, ma forse mi sono spiegato male


ho i ruoli
Portiere
attaccante
difensore
ecc

io voglio vedere tutti i giocatori delle categorie selezionate

quindi la condizione deve filtrare i miei giocatori in base a questo

quindi deve essere : nomeCampo == attaccante OR nomeCampo == difensore
tutto questo in un ciclo visto che non sò quanti ne selezionerà l'utente
Modificato da Studiodb il 03 luglio 2009 16.11 -
RE: Linq e query con parametri multipli
Studiodb
Studiodb non è online. Ultima attività: 10/07/2009 12.04.24Studiodb
il 6 luglio 2009 alle 09:17
12 messaggi dal 21 marzo 2006
qualcuno mi può aiutare?

3 pagine: [1] 2 3 Avanti >>  

Torna al forum |   Feed RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
COMMUNITY
ULTIMI MESSAGGI
UTENTI ONLINE
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2010.2.8