Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SQL复杂查询转换为LINQ或lambda表达式_Sql_Asp.net Mvc_Entity Framework_Linq_Lambda - Fatal编程技术网

将SQL复杂查询转换为LINQ或lambda表达式

将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

表表示不同的表。我一直在努力将这个sql查询转换为lambda表达式或linq,以最终传递到我的模型中,但我不确定我做错了什么。我尝试过的一切都是错误的,尤其是试图找出外部连接

假设您已正确设置了导航属性,这将类似于:

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
}