我无法弄清楚如何在 c# 中使用 linq 查询数据库以获取与 ID 列表或数组对应的所有对象并将它们放入列表中。例如:
我有一个项目表。我想构建一个方法来检索其 id 在 pass 数组或列表中的所有项目。我已经用谷歌搜索了它,但它总是假设我只想查询列表或数组,而不是查询使用列表或数组。
提前致谢。
我无法弄清楚如何在 c# 中使用 linq 查询数据库以获取与 ID 列表或数组对应的所有对象并将它们放入列表中。例如:
我有一个项目表。我想构建一个方法来检索其 id 在 pass 数组或列表中的所有项目。我已经用谷歌搜索了它,但它总是假设我只想查询列表或数组,而不是查询使用列表或数组。
提前致谢。
听起来你想要这样的东西:
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 上,但我可以理解这不是一个容易找到的例子,因为你使用的所有术语都很常见。)
像这样使用
var subscriptionDetails = SubscriptionMasterBL.GetSubscriptionMasterDetails();
tempUserList = lstSubscriberUsers.Where(a => subscriptionDetails.Any(b => b.SubscriptionUserId == a.Id
&& b.TokenId != Guid.Empty)).ToList();