我正在尝试将sql转换为lambda或LINQ,但还不能简化,

我设法做到了两个不同的lambda,但我希望它是一个查询。

SQL查询是这样的:

  SELECT PamID, MAX (MaxAmount)
    FROM RebateTable
GROUP BY PamID


到目前为止,这是可行的,但是还有什么更好的方法。

var t = from r in RebateList
    group r by r.PamID;
var x = from y in t
    select new RebateMaxClass
    {
        PamId = y.Key,
        TotalSale = y.Max(s => s.MaxAmount)
    };

最佳答案

您可以使用以下形式:

RebateTable.GroupBy(r=>r.PamId).Select(s=>new RebateMaxClass
    {
        PamId = s.Key,
        TotalSale = s.Max(y => y.MaxAmount)
    };

08-18 02:08