私はこの2つのクラスを持っています:
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 を返します。何かアイデアはありますか?