【发布时间】:2012-03-19 09:39:24
【问题描述】:
我们正在开发日志查看器。用户可以选择按用户、严重性等进行过滤。在 Sql 日子里,我会添加到查询字符串中,但我想用 Linq 来做。如何有条件地添加 where 子句?
【问题讨论】:
我们正在开发日志查看器。用户可以选择按用户、严重性等进行过滤。在 Sql 日子里,我会添加到查询字符串中,但我想用 Linq 来做。如何有条件地添加 where 子句?
【问题讨论】:
假设您正在使用IEnumerable,如下所示:
IEnumerable<LogMessage> logs = /* whatever your source is */
if(condition) {
logs = logs.Where(log => log.Severity == Severity.Error); // or whatever
}
您也可以多次执行此操作。如果您的数据源是 IQueryable,请使用它而不是 IEnumerable。
【讨论】: