本帖最后由 chirea 于 2013-11-09 00:37:57 编辑

解决方案 »

  1.   

    不是吧?难道Linq写不出这个效果吗?
      

  2.   

    多表LEFT JOIN 可以这样来写:
      

  3.   


    var query=from t1 in db.Table1
              join t2 in db.Table2 on t1.t2Id equals t2.ID into lg1
              from t2 in lg1.DefaultIfEmpty()
              join t3 in db.Table3 on t1.t3Id equals t3.ID into lg2
              from t3 in lg2.DefaultIfEmpty()
              select new {t1.Id, t2ID=t2==null?0:t2.ID, t3Name=t3==null?"":t3.Name};