我遇到了PredicateBuilder类的问题。
我有3个班级。
public class A
{
public int val1 {get;set;}
public int val2 {get;set;}
public List<B> listb {get;set;}
}
public class B
{
public int val3 {get;set;}
public int val4 {get;set;}
public List<C> listc {get;set;}
}
如何在B类中搜索val3 我需要一个搜索:
var query = PredicateBuilder.True<A>();
query = query.And(x => x.listb.Where(b=> b.val3 == 1);
答案 0 :(得分:3)
只需将.Where()
替换为.Any()
即可创建一个真/假布尔条件:
query.And(x => x.listb.Any(b => b.val3 == 1));
这将返回A
中任何listb
val3
1
项A
所有listb
条记录。如果您只想.All()
条query.And(x => x.listb.All(b => b.val3 == 1));
中 所有 项目符合MapChangeListener
条件,请使用Map
:
cellValueFactory