2014-10-01 87 views
1

项鉴于以下结构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>()的名单?

+2

http://stackoverflow.com的可能的复制/问题/ 10667675/LINQ的地方名单 - 包含-任何式列表。 – 2014-10-01 14:12:39

+1

你忘记了添加'Element'类,我认为它有一个'Id'属性。 – 2014-10-01 14:13:48

回答

6

您可以使用Any + Contains

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

(假设该类Element有一个Id性质,因为你说ResultElementid

+0

我总是忘记一些重要的Linq方法,在这种情况下它是ANy()。干杯。 – MrBliz 2014-10-01 14:17:53

相关问题