我需要將 IEnumerable 轉換為其他東西才能使用 Sum。我能做些什么來實作這一目標?
CsTotCommit = h.Sum(x => x.CSTotCommit)
我收到一條錯誤訊息,指出: CapStackTrancheDTO 不包含接受 CapStackTrancheDTO 型別的第一個引數的“總和”定義。
IEnumerable<CapStackTrancheDTO> debtRank = debt.AsEnumerable()
.Select((g,index) =>
new CapStackTrancheDTO
{
Rankid = index 1,
CsTrancheId = g.CsTrancheId,
CsId = g.CsId,
CsTotCommit = g.CsTotCommit,
});
IEnumerable<CapStackTrancheDTO> debtSum = debtRank
.Select(h =>
new
{
CsId = h.CsId,
CsTotCommit = h.Sum(x => x.CSTotCommit)
});
以下是類定義:
public class CapStackTrancheDTO
{
public int? Rankid { get; set; }
public int? CsTrancheId { get; set; }
public int? CsId { get; set; }
public decimal? CsTotCommit { get; set; }
}
我想按 CsId 和 SUM 對多個記錄進行分組。
uj5u.com熱心網友回復:
從評論中,您已經說過要分組CsId然后求和。
目前,您沒有應用任何分組。
使用該.GroupBy方法,如下所示:
IEnumerable<CapStackTrancheDTO> debtSum = debtRank
.GroupBy(h => h.CsId)
.Select(h =>
new CapStackTrancheDTO
{
CsId = h.Key, // the value we grouped on above is now available in `Key`
CsTotCommit = h.Sum(x => x.CSTotCommit)
}
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/313320.html
下一篇:物體框架-具有多個條件的異步選擇
