[英]PredicateBuilder Where List inside List with C#
我的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);
只需更换.Where()
用.Any()
来创建一个真/假布尔条件:
query.And(x => x.listb.Any(b => b.val3 == 1));
这将返回所有A
记录,其中listb
中的任何项目包含val3
为1
。 如果只希望A
记录listb
中所有项目listb
符合条件的记录,请使用.All()
:
query.And(x => x.listb.All(b => b.val3 == 1));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.