我在我的应用程序中使用linq。查询有几个条件.Where(a => !one || a.id == 1)
。多个条件linq
bool one = false;
bool two = false;
bool three = false;
db.type.Where(w => !one|| w.id == 1).Where(w => !two || w.id == 2).Where(w => !three || w.id == 3).ToList()
但此查询给我的结果是:
db.type.Where(w => w.id == 1 &&
w.id == 2 &&
w.id == 3)
我想:
db.type.Where(w => w.id == 1 ||
w.id == 2 ||
w.id == 3)
请帮助我。我如何解决这个问题?
链接多个'Where'等价于使用'&&'的单个'Where'。我想你可以看到你不能用这种技术来模拟'||'。 –
@IvanStoev我可以用其他技术解决这个问题吗? – ukrainianDev
您能否提供一些样本输入和输出数据?变量'one'和id'1'之间是否有关系? – RePierre