Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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_Linq - Fatal编程技术网

如何将Sql查询转换为linq

如何将Sql查询转换为linq,linq,Linq,请任何人帮助将以下SQL查询转换为Linq select PersonRank, amount, (Select sum(p2.Amount) from @PersonRank p2 where p2.PersonRank <= p1.PersonRank) from @PersonRank P1 order by PersonRank 试试这个 var result = db.PersonRank(i => new

请任何人帮助将以下SQL查询转换为Linq

select 
  PersonRank,
  amount,
  (Select sum(p2.Amount) from @PersonRank p2 where p2.PersonRank <= p1.PersonRank) 
from @PersonRank P1 
order by PersonRank
试试这个

var result = db.PersonRank(i => new
                        {
                            PersonRank = i.PersonRank,
                            amount = i.amount,
                            PersonRankSum = (db.PersonRank
                                              .Where(t => t.PersonRank <= i.PersonRank)
                                              .Sum(t => t.Amount)
                                             )

                        }).OrderBy(i => i.PersonRank);

请不要只是发布SQL并要求转换。至少显示一个类模型,以便导航属性和关联的多样性可见。另外,告诉您针对实体的LINQ类型,并展示您自己的第一次努力。它们向我们阐明的内容比您想象的要多。虽然此代码可能会回答此问题,但提供有关此代码为什么和/或如何回答此问题的附加上下文可提高其长期价值。
var result = db.PersonRank(i => new
                        {
                            PersonRank = i.PersonRank,
                            amount = i.amount,
                            PersonRankSum = (db.PersonRank
                                              .Where(t => t.PersonRank <= i.PersonRank)
                                              .Sum(t => t.Amount)
                                             )

                        }).OrderBy(i => i.PersonRank);