使用LINQ存在查询

我想让LINQ获得一份员工名单,这些员工必须在TypeOfWorks列表中获得在参数中传递的typeofWorkId

  public class Employee { public virtual IList TypeOfWorks { get; set; } } public class EmployeeTypeOfWork { public virtual Guid Id { get; set; } public virtual Employee Employee { get; set; } public virtual TypeOfWork TypeOfWork { get; set; } } public class TypeOfWork { public virtual Guid Id { get; set; } } public IList ListWithTypeOfWork(IList Employees, Guid typeOfWorkId) { ????? } 

我试过这个,但我错过了一些我认为的东西

  var res = from p in Employees where (from pp in p.TypeOfWorks where pp.TypeOfWork.Id == guid select pp.Id).Contains(p.Id) select p; 

 public IEnumerable ListWithTypeOfWork(IList Employees, Guid typeOfWorkId) { return from emp in Employees where emp.TypeOfWorks.Any(x => x != null && x.Id == typeOfWorkId) select emp; } 

请尝试以下方法

 var res = Employees .Where(x => x.TypeOfWorks.Any(w => w.Id == guid))