使用LINQ存在查询

Kri*_*s-I 3 .net c# linq

我想用LINQ作为员工列表,这些员工必须在TypeOfWorks列表中包含typeofWork传递的(Id)参数

  public class Employee 
    {   
        public virtual IList<EmployeeTypeOfWork> 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<Employee> ListWithTypeOfWork(IList<Employee> Employees, 
Guid typeOfWorkId)
    {     
        ?????       
    }
Run Code Online (Sandbox Code Playgroud)

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

        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;
Run Code Online (Sandbox Code Playgroud)

Jar*_*Par 6

请尝试以下方法

var res = Employees
  .Where(x => x.TypeOfWorks.Any(w => w.Id == guid))
Run Code Online (Sandbox Code Playgroud)

  • @blesh,将null放入任何类型的集合中有什么价值?具有这样的值会增加0个有用的信息,而是添加不可用的信息.这将是代码中的错误,而不是我的答案. (3认同)