Linq连接查询

//inner join

var query = from a in data.A   

                   join b in data.B          

                  on a.bid equals b.id

                select new

        {

                        id=a.id,

                        name = b.name

        };

                 

 

//left join

var query = from a in data.A    

                   join b in data.B           

                  on a.bid equals b.id into ab       

                  from b in ab.DefaultIfEmpty()       

          join c in data.C          

        on b.cid equals c.id into bc     

           from c in bc.DefaultIfEmpty()      

           join d in data.D           

         on c.did equals d.id into cd         

         from d in cd.DefaultIfEmpty()          

         join e in data.E         

         on d.eid equals e.id into ce       

          from e in ce.DefaultIfEmpty()          

        select new

         {               

             Id = a.Id,        

                Name = b==null?"":b.Name,       

                Pro = c==null?"":c.Pro,         

               IpAdd = d==null?"":d.IpAdd       

          };

 

posted @ 2015-04-17 20:46  YyuTtian  阅读(301)  评论(0编辑  收藏  举报