6

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

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

提前致谢。

4

2 回答 2

25

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

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 上,但我可以理解这不是一个容易找到的例子,因为你使用的所有术语都很常见。)

于 2013-03-02T19:41:45.207 回答
0

像这样使用

 var subscriptionDetails = SubscriptionMasterBL.GetSubscriptionMasterDetails();
                tempUserList = lstSubscriberUsers.Where(a => subscriptionDetails.Any(b => b.SubscriptionUserId == a.Id 
                    && b.TokenId != Guid.Empty)).ToList();
于 2015-07-16T10:04:24.843 回答