Linq查询使用列表或数组的id
本文关键字:数组 id 列表 查询 Linq | 更新日期: 2023-09-27 18:02:07
我很难弄清楚如何在c#中使用linq查询数据库以获得与id列表或数组对应的所有对象,并将它们放在列表中。例如:
我有一个项目表。我想构建一个方法,检索id在pass数组或列表中的所有项。我已经谷歌它,但它总是假设我只是想查询一个列表或数组,而不是查询使用列表或数组。
听起来你想要这样的东西:
var query = items.Where(item => validIds.Contains(item.Id));
请注意,如果这都是本地的(即在进程中,LINQ到对象),你可能有很多有效的id,你可能想要构造一个HashSet<T>
。
或者你可以做一个连接,当然:
var query = from id in validIds
join item in items on id equals item.Id
select item;
(在网络上甚至Stack Overflow上都有很多这样的例子,但我能理解这不是一个容易找到的,因为你使用的所有术语都是常见的。)
像这样使用
var subscriptionDetails = SubscriptionMasterBL.GetSubscriptionMasterDetails();
tempUserList = lstSubscriberUsers.Where(a => subscriptionDetails.Any(b => b.SubscriptionUserId == a.Id
&& b.TokenId != Guid.Empty)).ToList();