使用LINQ存在查询
我想让LINQ获得一份员工名单,这些员工必须在TypeOfWorks
列表中获得在参数中传递的typeofWork
( Id
)
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))