Linq Where list包含另一个列表中的项目
本文关键字:项目 列表 另一个 Where list 包含 Linq | 更新日期: 2023-09-27 18:25:10
给定以下结构
public class WorkOrderItem
{
[Key]
public long WorkOrderItemId { get; set; }
public virtual ICollection<Job> Jobs { get; set; }
}
public class Job
{
[Key]
public long JobId { get; set; }
public long? WorkOrderItemId { get; set; }
public virtual Item Item { get; set; }
public virtual Element ResultElement { get; set; }
}
如何获取项目列表,其中该项目具有ResultElementid位于List<long>()
中的作业?
您可以使用Any
+Contains
:
var query = workOrderItems
.Where(item => item.Jobs.Any(j => longList.Contains(j.ResultElement.Id)));
(假设类Element
具有Id
属性,因为您已经声明了ResultElementid)