У меня есть два класса:
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 либо. Любая идея?