linq left join on

    一、 构造3个对象的集合

        List<VAV_AREA> arealist = new List<VAV_AREA>();
            List<VAV_CORP> corplist = new List<VAV_CORP>();
            List<VAV_CITY> citylist = new List<VAV_CITY>(); 

 

二、得到集合数据

三、linq处理

2个list to linq left join
   var v = from area in arealist
                    join corp in corplist.DefaultIfEmpty()
                    on area.CCORPID equals corp.CID
                    into ss
                    from m in ss.DefaultIfEmpty()
                    select new { area, m.CID, m.CCORPNAME };
3个list to linq join on
  var v1 = from area in arealist//1

                     join corp in corplist.DefaultIfEmpty()
                     on area.CCORPID equals corp.CID
                     into ss
                     from m in ss.DefaultIfEmpty()//2

                     join city in citylist
                     on m.CID equals city.CCTIYID
                     into nn
                     from n in nn.DefaultIfEmpty()//3

                     select new { area, m.CID, m.CCORPNAME,n.CCTIYID,n.CAREAID,n.CCITYNAME, m.CDEFAULT1};

注:参照如下所得

linq left join on test
posted @ 2012-07-24 12:10  石 磊  阅读(4345)  评论(0编辑  收藏  举报