繁体   English   中英

PredicateBuilder Where List with List in C#

[英]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中的任何项目包含val31 如果只希望A记录listb所有项目listb符合条件的记录,请使用.All()

query.And(x => x.listb.All(b => b.val3 == 1));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM