这是我的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/

10-17 00:03
查看更多