如何使用条件Linq查询?

时间:2012-03-19 09:39:24

标签: c# linq

  

可能重复:
  Conditional Linq Queries

我们正在研究日志查看器。该用户可以选择按用户,严重程度等进行过滤。在Sql中我会添加到查询字符串,但我想用Linq来做。我怎样才能有条件地添加where-clause?

1 个答案:

答案 0 :(得分:3)

假设您正在使用IEnumerable,请执行以下操作:

IEnumerable<LogMessage> logs = /* whatever your source is */
if(condition) {
    logs = logs.Where(log => log.Severity == Severity.Error); // or whatever
}

你也可以多次这样做。如果您的数据来源为IQueryable,请使用该数据源代替IEnumerable