2014-10-01 88 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

相關問題