我们正在研究一个日志查看器。使用时可以选择按用户,严重性等进行过滤。在Sql天内,我将添加到查询字符串中,但是我想使用Linq进行过滤。如何有条件地添加子句?
如果您只想过滤通过特定条件的情况,请执行以下操作
var logs = from log in context.Logs select log; if (filterBySeverity) logs = logs.Where(p => p.Severity == severity); if (filterByUser) logs = logs.Where(p => p.User == user);
这样,您的表达式树将完全符合您的要求。这样,创建的SQL正是您所需要的,而且仅此而已。