58 messaggi dal 08 novembre 2007
Salve a tutti dovrei fare una query dinamica non so se si chiama proprio cosi però praticamente devo inserire una condizione solo se una variabile non sia null!!!

ad esempio da un combobox seleziono un valore e questo mi va a filtrare la mia query però non riesco a farlo!!

var _Cartelli = from c in Censimento.Cartelli

                    
                                   orderby c.CAR_KM

                                   where  !(from b in Censimento.Cartelli_PC
                                                                    select b.CPC_CAR_SEQCODICE).Contains(c.CAR_SEQCODICE)
                                  
                                   select c;

                    if (l != null)
                      _Cartelli.Where(p=> p.CAR_LATOSTRADA==l);  



questo è il mio codice... praticamente devo aggiungere la candizione latostrada == l solo se l non è null!!!

non so se questa sintassia sia giusta....

avete suggerimenti!! sono alle prime armi con linq come potete vedere

grazie a tutti
58 messaggi dal 08 novembre 2007
ho risolto non facevo l'assegnazione credevo che mi faceva automaticamente la selezione... invece dovevo assegnarla!!!
Sì perché ogni volta che usa un extension method che vuole IQueryable, fai una chiamata ad un metodo che ti restituisce una nuova espressione che include l'operazione che hai appena fatta.
Le espressioni non si possono modificare ma solo generarle delle altre che le riutilizzano.
In questo modo solo alla fine, quando lo consumerai con IEnumerable verrà effettuata la query.

Ciao

Il mio blog
Homepage
58 messaggi dal 08 novembre 2007
Ricciolo,grazie per la spiegazione

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.