LINQ和Expressions迷失了

时间:2010-11-02 16:37:34

标签: linq

我正在尝试在某些对象上编写LINQ查询,如果设置了过滤器值,我只需要执行select。

有没有办法动态地“更改”查询,只有在设置了选项时才执行选择。

3 个答案:

答案 0 :(得分:4)

使用where查找感兴趣的项目,例如:

collection.Where(i => PassesFilter(i)).Select(i => i.InterestingValue);

答案 1 :(得分:1)

var query = Somthing().Where(x => x.IsSomethingYouAlwaysFilterBy);
if(FilterValueIsSet(filterValue))
{
    query = query.Where(x => x.Property == filterValue)
}

答案 2 :(得分:1)

我不确定我理解你的问题,但你可以使用谓词构建器。 Predicate Builder example here