Linq Where list包含另一个列表中的项目

时间:2014-10-01 14:10:00

标签: c# .net linq

给出以下结构

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>()的作业?

1 个答案:

答案 0 :(得分:6)

您可以使用Any + Contains

var query = workOrderItems
    .Where(item => item.Jobs.Any(j => longList.Contains(j.ResultElement.Id)));

(假设课程Element具有Id属性,因为您已声明 ResultElementid