首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

问段Linq如何写

2013-10-27 
问段Linq怎么写SELECT * FROM 会议表 LEFT JOIN 会议用户多对多表ON 会议表.ID 会议用户多对多表.会议I

问段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;
          
          

热点排行