c# - 使用 id 列表或数组的 Linq 查询

标签 c# linq entity-framework

我无法弄清楚如何在 C# 中使用 linq 查询数据库以获取与列表或 ID 数组对应的所有对象并将它们放入列表中。例如:

我有一个项目表。我想构建一个方法来检索其 ID 在 passes 数组或列表中的所有项目。我用谷歌搜索了它,但它总是假设我只想查询列表或数组而不是使用列表或数组进行查询。

提前致谢。

最佳答案

听起来你想要这样的东西:

var query = items.Where(item => validIds.Contains(item.Id));

请注意,如果这都是本地的(即进程内、LINQ to Objects)并且您可能有很多有效 ID,您可能想要构造一个 HashSet<T> .

当然,您也可以加入:

var query = from id in validIds
            join item in items on id equals item.Id
            select item;

( 网络上什至 Stack Overflow 上有很多这样的示例,但我可以理解,要找到它并不容易,因为您使用的所有术语都很常见。 )

关于c# - 使用 id 列表或数组的 Linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15178598/

相关文章:

c# - Evaluator.PartialEval 减少提供的表达式

c# - MVC 脚手架和 EF 'One To Zero or One' 关系错误

c# - 如何在不引入竞争条件的情况下等待 RX Subject 的响应?

c# - Linq 列表列表到单个列表

c# - 如何选择节点的所有子节点,而不是所有后代?

c# - 过滤器需要通过引用传递才能附加到它

c# - 带有 UoW 更新的 EF 存储库

c# - 获取未处理的异常 : System. Reflection.TargetParameterCountException:参数计数不匹配

c# - 如何获得*互联网* IP?

c# - 从其他ViewModel调用方法