需要在 linq 中写入 2 个外部连接

本文关键字:外部 连接 linq | 更新日期: 2023-09-27 18:30:51

我需要使用 linq 编写以下查询。任何帮助都非常感谢。

select
        r1.rID,
        name,
        uName,
        001 aID,
        nvl(uValue, 0) uValue
    from
        r1,
        r2,
        l
    where
        r1.rID = r2.rID 
        and r1.rID = l.rID(+) 
        and 001 = l.aID(+)
    order by
        r1.rID

需要在 linq 中写入 2 个外部连接

它应该是这样的:

var result = (from  r1 in db.r1
              join  r2 in db.r2 on r1.rID equals r2.rID
              join  l  in db.l  on r1.rID equals l.rID
              where l.aID == "001"
              orderby r1.rID 
              select new {
                  rID    = r1.rID,
                  Name   = r1.name,
                  UName  = r1.uName,
                  aID    = "001",
                  UValue = nvl(r.uValue)
              }).ToList();