Linq - Comment sélectionner des éléments d'une liste qui ne contient que des éléments d'une autre liste?
J'ai deux classes:
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;}
}
De Classe De L'Élément De Données:
Id
1
2
3
Et De La Classe De Test Des Données:
Item State
1 1
1 2
1 3
2 1
2 4
3 2
Maintenant, j'ai besoin d'écrire une requête qui sélectionne les Objets de ma classe qui ont juste l'état 1 et 2.Par exemple, pour l'exemple ci-dessus, il devrait retours de ligne avec Item=3.
j'ai écrit cette requête:
var stateList=new List<byte>(){1,2};
Items.Where(x => x.TestList.Select(c => c.State).Any(s => stateList.Contains(s)));
mais il renvoie Item=1 soit.Une Idée?
source d'informationauteur Mahboobeh Mohammadi
Vous devez vous connecter pour publier un commentaire.
Ceci renvoie les éléments qui tous les états sont en
stateList
je pense que c'est ce que vous avez besoin de:dans le cas où vous avez besoin seulement les éléments qui TestList ont seulement les articles avec le statut 2: