c# - 将 oracle 查询的嵌套选择转换为 linq

标签 c# sql oracle linq select

我收到了一个 oracle 查询,我正在尝试将其转换为 linq。到内部选择为止,我已经成功了。

select distinct pm.projNumber, nvl(s.submission_nbr, ppo.submission_nbr) submission_nbr, nvl(ot.objectname, pot.objectname) objectname , wa.assigned, f.lname, f.fname
from wfassignment wa 
    join CodeTab c on c.codeid = wa.appr_stat 
    join projobject po on po.objectid = wa.objectid 
    join projmain pm on pm.projid = po.projid
    join hhistory s on s.Prop_no = pm.Prop_No and s.Inst_Code = pm.Inst_Code and pm.System = 'foo' and s.mark = po.mark  
    left join objecttypes ot on ot.objecttype = po.objecttype and ot.system = pm.system
    left join(
         select a.mark, a.objecttype, a.submitdate, c.submission_nbr
         from projobject a 
             join b on b.projid = a.projid 
             join c on c.Prop_no = b.Prop_No and c.Inst_Code = b.Inst_Code and b.System = 'foo' and c.mark = a.mark ) ppo on ppo.mark = s.parentmark 
    left join objecttypes pot on pot.objecttype = ppo.objecttype and pot.system = pm.system  
    join faculty f on f.unique_id = wa.unique_id
where wa.completed is null and wa.unique_id in ('foo', 'bar', 'foo', 'bar')

下面是我的 C# 代码,直到“left join (select...)”

 var pageObject = (
     from wa in db.WFASSIGNMENTs
         join c in db.CODETABs on wa.APPR_STAT equals c.CODEID
         join po in db.PROJOBJECTs on wa.OBJECTID equals po.OBJECTID
         join pm in db.PROJMAINs on po.PROJID equals pm.PROJID
         join s in db.HHISTORies on new { pm.PROP_NO, pm.INST_CODE, po.MARK } equals new { s.PROP_NO, s.INST_CODE, s.MARK }
         join ot in db.OBJECTTYPES on new { OBJECTTYPE = po.OBJECTTYPE, pm.SYSTEM } equals new { OBJECTTYPE = ot.OBJECTTYPE1, ot.SYSTEM }

如何将内部选择转换为 linq?

最佳答案

我将内部选择拉出到另一个变量中,然后加入该变量。成功了。

关于c# - 将 oracle 查询的嵌套选择转换为 linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41248065/

相关文章:

mysql - 改进此查询以从不同的表中获取数据

sql - 列别名引用

c# - ODP.NET 连接异常

sql - 甲骨文 SQL : How to INSERT a SELECT statement with a GROUP BY clause on a table with IDENTITY column?

c# - 如何引发 MouseClick 事件?

mysql - 使用css排列数据库中的数据

c# - 获取 session 值 - ASP.NET Web 处理程序文件

sql - 为什么我的标量 UDF 函数返回多于一行?

c# - NativeWindow 等效项

c# - "There are no more endpoints available from the Endpoint Mapper"ping 时出现异常