Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linq返回带有ID列表的查询_C#_Linq_Filter_Where_Contains - Fatal编程技术网

C# linq返回带有ID列表的查询

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) {

我正在做一个过滤器,我需要所有的值,例如(rock=id3和jazz=id6)

在林克我怎么做

我正在这样做,但这给了第一个与摇滚乐和爵士乐

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你可能是对的。第一行听起来像是在问什么,但我可能错了!