我有这两个类:
public class Item
{
public int Id{get;set;}
public List<Test> TestList{get;set;}
}
public class Test
{
public int Id{get;set;}
public Item Item{get;set;}
public byte State{get;set;}
}
项目类别数据:
Id
1
2
3
和测试类数据:
Item State
1 1
1 2
1 3
2 1
2 4
3 2
现在我需要编写一个查询,从我的类中选择状态为 1 和 2 的项目。例如,对于上面的示例,它应该返回 Item=3 的行。我写了这个查询:
var stateList=new List<byte>(){1,2};
Items.Where(x => x.TestList.Select(c => c.State).Any(s => stateList.Contains(s)));
但它也返回 Item=1。有什么想法吗?