C# linq返回带有ID列表的查询
我正在做一个过滤器,我需要所有的值,例如(rock=id3和jazz=id6) 在林克我怎么做 我正在这样做,但这给了第一个与摇滚乐和爵士乐C# linq返回带有ID列表的查询,c#,linq,filter,where,contains,C#,Linq,Filter,Where,Contains,我正在做一个过滤器,我需要所有的值,例如(rock=id3和jazz=id6) 在林克我怎么做 我正在这样做,但这给了第一个与摇滚乐和爵士乐 private IQueryable<Performance>addGenreFilterToPerformanceQuery(IQueryable<Performance> query, List<int> genreFilters) { if (genreFilters != null) {
private IQueryable<Performance>addGenreFilterToPerformanceQuery(IQueryable<Performance> query, List<int> genreFilters)
{
if (genreFilters != null)
{
foreach (var genreFilter in genreFilters)
{
return query.Where(p => p.Artist.Genres.Any(g => genreFilters.Contains(g.Id)));
}
}
return query;
}
private IQueryableaddGenreFilterToPerformanceQuery(IQueryable查询,列出genreFilters)
{
if(genreFilters!=null)
{
foreach(genreFilter中的var genreFilter)
{
返回query.Where(p=>p.Artist.Genres.Any(g=>genreFilters.Contains(g.Id));
}
}
返回查询;
}
有什么建议吗?foreach的
实际上什么都没做。如果希望查询匹配所有类型ID而不是任何类型ID,请使用all
,而不是any
:
return query.Where(p => p.Artist.Genres.All(g => genreFilters.Contains(g.Id)));
你的问题很不清楚。如果您能展示一个简短但完整的示例,包括示例输入和预期输出,这将非常有帮助。请阅读该代码,它肯定是坏的,但我并不完全清楚这是否是我想要的-这个问题非常不清楚。@JonSkeet你可能是对的。第一行听起来像是在问什么,但我可能错了!