Estoy utilizando linq para entidades (EF). Tengo un constructor que toma 4 parámetros de cadena. Dependiendo de qué parámetro no es nulo, tengo que construir la consulta de linq. Puedo hacer con declaraciones if else pero también tengo otro constructor con 10 parámetros, en ese caso habrá muchas combinaciones para verificar.Cláusula dynamic where en Linq para Entidades
Ejemplo:
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;
}
En lo anterior cláusula where no debería haber controles de condición sólo si el parámetro no es nulo. es decir., si P2 es nulo entonces la cláusula where debe ser similar
where p.x==p1 && p.xxx==p3 && p.xxxx==p4
si P2 y P3 son nulos entonces
where p.x==p1 && p.xxxx==p4
Puede alguien decirme cómo manejar esto. si es posible, se puede dar el código de ejemplo para este
duplicado Posible de http://stackoverflow.com/questions/697345/linq-to-sql- need-dynamic-where-clause-over-relational-tables-help? rq = 1 –