这是我的LINQ
查询,需要更新为动态where子句。
如果参数的id
值为0,则where子句应返回所有记录,而where子句应按id值匹配记录。
public async Task<IEnumerable<dynamic>> GetFilteredRowsByID(int id)
{
return from m in _context.TableName
where m.id == (id != 0 ? id : /*AllRecordsHere*/ )
join ...
join ...
select new {...}
}
我使用
Asp.Net Core 2.2
。是否可以不使用where子句而编写另一种方法呢? 最佳答案
尝试条件:
where id == 0 || m.id == id
如果
id == 0
,则整个表达式的计算结果为true
,否则为false,将检查第二个条件m.id == id
。关于c# - 如何在LINQ中动态添加或删除where子句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57882582/