Cela a l'habitude de travailler pour moi, puis il a échoué. Je veux retourner uniquement les éléments qui contiennent tous les filtres, pas au moins un filtre comme c'est le cas maintenant. Qu'est-ce qui ne va pas ici?Filtrer une collection d'éléments à partir du contenu d'une autre collection
private IQueryable<IndexItem> FilteredIndex (IQueryable<IndexItem> index, IEnumerable<string> filters)
{
var filteredIndex= from f in filters.AsQueryable()
where f.Length>0
from i in index
where i.FilterNames.Contains(f)
select i;
return filteredIndex;
}
Quel fournisseur LINQ utilisez-vous? Je suppose que ce n'est pas LINQ to Objects, basé sur l'utilisation de IQueryable. –
Je peux donner une solution assez élégante pour LINQ to Objects, mais je ne suis pas sûr que cela fonctionne pour vous. Laissez-moi entendre si c'est le cas. –