Я использую linq для сущностей (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 проверки условий должны выполняться только в том случае, если параметр не равен NULL.
то есть.,
если p2 равно нулю, то выражение where должно выглядеть как
where p.x==p1 && p.xxx==p3 && p.xxxx==p4
если p2 и p3 равны нулю, то
where p.x==p1 && p.xxxx==p4
Может кто-нибудь сказать мне, как справиться с этим. если возможно, можете дать пример кода для этого