Sto usando linq alle entità (EF). Ho un costruttore che accetta 4 parametri di stringa. A seconda del parametro non nullo, devo costruire la query linq. Posso fare con if else statement ma ho anche un altro costruttore con 10 parametri in questo caso ci saranno molte combinazioni da controllare.Clausola dynamic where in Linq alle entità
Esempio:
Constructor(p1,p2,p3,p4)
{
var prod= from p in ctxt.products.expand("items\details")
where p.x==p1 && p.xx==p2 && p.xxx==p3 && p.xxxx==p4
select p;
}
Nella suddetta clausola where ci dovrebbero essere controlli condizione solo se il parametro non è nullo. cioè., se p2 è nullo allora la clausola in cui dovrebbe essere simile
where p.x==p1 && p.xxx==p3 && p.xxxx==p4
se P2 e P3 sono nulli poi
where p.x==p1 && p.xxxx==p4
Qualcuno può dirmi come gestire questa situazione. se possibile, si può dare il codice di esempio per questo
Eventuali duplicati di http://stackoverflow.com/questions/697345/linq-to-sql- need-dynamic-where-clause-over-relational-tables-help? rq = 1 –