Linq实现左连接

 var ReportOrderings = from A in resultA

            join R in resulR
                                  on new { A.DCode, A.AContent }
                                  equals new { R.DCode, R.Content }
                                  into C
                                  from R in C.DefaultIfEmpty()   //左连接
                                  select new {
                                      DCode=A.DCode,
                                      AContent= A.AContent,
                                      ACount= A.ACount,
                                      RCount = R == null ? 0 : R.RCount     //左连接时,R表中不符合条件则R会为Null,所以此时R.RCount会报错滴                                  
                                  };

表A和表R拥有相同的列,进行左连接时,如果右边的表R没有符合条件的数据时,则让R表的Acount列设置为其他默认的值以便此时R为null会出现错误.

 

Goup 分组:http://www.cnblogs.com/lyj/archive/2008/01/25/1052713.html

posted @ 2013-07-01 11:30  海风cuao  阅读(289)  评论(0编辑  收藏  举报