如何实现以下这个sql等价的linq
select *
from emp
left join dept on emp.deptid = dept.deptid
left join mgr on emp.mgrid = mgr.mgrid
where emp.location = 'us'谢谢!

解决方案 »

  1.   

    var q =  
      from e in db.emp
      join o in db.dept on e.dept equals o.deptid into b  
      from x in b.DefaultIfEmpty()  
      select new  
      {  
      e.ID,  
      e.Name  
      }; 
      

  2.   


    但是 如何写两个left join 呢?
    怎么left join mgr 表?
      

  3.   

            var x = (from z in db。emp
                                              join j in db.dept 
                                              on z.deptid  equals j.deptid into k                                          join i in db.mgr
                                              on z.mgrid equals i.mgrid into l                                          from j in k.DefaultIfEmpty()
                                              from i in l.DefaultIfEmpty()
                                              select new
    {
    };