日期:2014-05-17  浏览次数:20920 次

问段Linq怎么写

SELECT * FROM 会议表 
LEFT JOIN 会议用户多对多表
ON 会议表.ID == 会议用户多对多表.会议ID
LEFT JOIN 用户表
ON 会议用户多对多表.用户ID = 用户表.ID
WHERE 用户表.ID = 1

初学LINQ不会用啊

------解决方案--------------------

var query=from a in 会议表
            join b in 会议用户多对多表 on a.ID==b.会议ID into join1
          from x in join1.DefaultIfEmpty()
          join c in 用户表.Where(p=>p.ID==1) on b.用户ID==c.ID into join2
          from y in join2.DefaultIfEmpty()
          select new
          {
            需要取出的字段组成的匿名类
          }   

------解决方案--------------------
var query= from i in 会议表
                join  j in 会议用户多对多表 on i.ID equals j.会议ID into j_join
           from x in j_join.DefaultIfEmpty()
                join k in 用户表 on k.ID equals x. 用户表.ID
                WHERE k.ID = 1
           select XXX;
大概就是这样的吧 没测试

------解决方案--------------------
var query=from m in 会议表
  join mu in 会议用户多对多表 on m.ID equals mu.会议ID into g1
          from mu in g1.DefaultIfEmpty()
          join u in 用户表 on mu.用户ID equals u.ID into g2
          from u in g2.DefaultIfEmpty()
          select m;