将SQL复杂查询转换为LINQ或lambda表达式
表表示不同的表。我一直在努力将这个sql查询转换为lambda表达式或linq,以最终传递到我的模型中,但我不确定我做错了什么。我尝试过的一切都是错误的,尤其是试图找出外部连接 假设您已正确设置了导航属性,这将类似于:将SQL复杂查询转换为LINQ或lambda表达式,sql,asp.net-mvc,entity-framework,linq,lambda,Sql,Asp.net Mvc,Entity Framework,Linq,Lambda,表表示不同的表。我一直在努力将这个sql查询转换为lambda表达式或linq,以最终传递到我的模型中,但我不确定我做错了什么。我尝试过的一切都是错误的,尤其是试图找出外部连接 假设您已正确设置了导航属性,这将类似于: SELECT columns FROM TableA INNER JOIN TableB ON tablea = tableb INNER JOIN tablec ON tablea = tablec INNER JOIN tabl
SELECT columns FROM TableA
INNER JOIN TableB ON tablea = tableb
INNER JOIN tablec ON tablea = tablec
INNER JOIN tabled ON tablea = tabled
INNER JOIN tablef ON tablea = tablef
LEFT OUTER JOIN tableg ON tablea = tableg
LEFT OUTER JOIN tableh ON tablea = tableh
LEFT OUTER JOIN tablei ON tablea = tablei
AND tablea.column = tablei.column
AND tablea.column = tablei.column
AND tablea.column <= tablef.column
AND tablea.column => tablef.column
LEFT OUTER JOIN tablej ON tablea = tablej
AND tablea.column = tablej.column
AND tablea.column = tablej.column
AND tablea.column = tablej.column
tablea的目的是什么?请不要只是发布SQL并要求转换。至少显示一个类模型,以便导航属性和关联的多样性可见。另外,告诉你的EF版本。并展示您自己的第一次努力,以便我们了解您具体需要帮助的地方。最好的LINQ查询很少是SQL查询的1:1复制。
from a in context.TableA
select new {
a,
a.TableBs,
a.TableCs,
a.TableDs,
a.TableFs,
TableIs =
from i in a.TableIs
where a.something == tablei.something
...
select i,
TableJs =
from j in a.TableJs
where a.something == j.something
...
select j
}