Я использую linq to entity (EF). У меня есть конструктор, который принимает 4 строковых параметра. В зависимости от того, какой параметр не равен нулю, мне нужно создать запрос linq. Я могу использовать операторы if else, но у меня также есть другой конструктор с 10 параметрами, в этом случае нужно будет проверить множество комбинаций.
Пример:
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;
}
В приведенном выше предложении where должны выполняться проверки условий только в том случае, если параметр не равен нулю. то есть, если p2 равен нулю, то предложение where должно выглядеть как
where p.x==p1 && p.xxx==p3 && p.xxxx==p4
если p2 и p3 равны нулю, то
where p.x==p1 && p.xxxx==p4
Кто-нибудь может сказать мне, как с этим справиться. если возможно, вы можете дать образец кода для этого