gpt4 book ai didi

c# - 在 LINQ c# 中将 OR 转换为 And 数组值的条件

转载 作者:太空宇宙 更新时间:2023-11-03 22:29:02 24 4
gpt4 key购买 nike

我有一个 linq 查询,它在数组或 ID 列表上用作 OR。这是代码:

现在,下面的代码就像任何导师有 Subject1 或 Subject2 一样工作,如果任何一位导师有其中一个,它将列出列表,我想获得记录或导师列表谁有他们两个。

query = query.Where(x => x.TutorSubjects.Any(q => q.SubjectId.HasValue && filter.Subjects.Contains(q.SubjectId.Value)));

我想将它转换为“And”条件,它应该像 Filter.Subjects 中指定的列表和所有 id 一样工作。

我尝试添加一些在 Google 上给出的示例,但没有得到预期的结果。我是 LINQ 和 EF 的初学者。请帮我。

不确定 Contains 是否会起作用,因为它在 Google 上的几篇文章中有所提及。

最佳答案

您可以使用 .All() :

query = query.Where(x => x.TutorSubjects.All(q => q.SubjectId.HasValue && filter.Subjects.Contains(q.SubjectId.Value)));

关于c# - 在 LINQ c# 中将 OR 转换为 And 数组值的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59175806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com