如何将Sql Query转换为linq

时间:2016-07-25 14:30:27

标签: linq

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

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

2 个答案:

答案 0 :(得分:1)

试试这个

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);

答案 1 :(得分:0)

var query = 
    from pr in context.PersonRanks
    orderby pr.PersonRank
    select new 
        { 
            pr.PersonRank, 
            pr.Amount, 
            Sum = context.PersonRanks.Where(p => p.PersonRank <= pr.PersonRank).Sum(p => p.Amount)
        };