首先,我有一个如下变量:
List<string> values;
现在我需要构建查询条件,如下所示:
Expression<Func<docinstance, bool>> filter = d=>d.values.any(o=>o.value==values[0]||o.value==value[1]||.....)
因为我不知道变量值中有多少项,所以如何构建查询条件
答案 0 :(得分:5)
您可以在
中再次使用Any
d => d.values.Any(o => values.Any(x => x == o.value))
答案 1 :(得分:1)
答案 2 :(得分:0)
EF的DbContext类有一个方法Set<TEntity>(),返回类型为DbSet<TEntity>,它实现Queryable interface,它将所有查询方法都作为扩展方法。
最后将您的查询表达式翻译成SQL然后执行。这为您提供了所需的功能,以便您可以组合查询方法并构建动态表达式。