我有一个.csv,数据看起来像这样:
Account,Debit,Credit
1,10.00,5.00
1,10.00,10.00
2,5.00,5.00
2,10.00,10.00
此数据填充IEnumerable<Source>
。定义如下:
public class Detail {
public string Account {get; set;}
public decimal Debit {get; set;}
public decimal Credit {get; set;}
}
我正在尝试整合和预测这个&#34;详细信息&#34;将对象转换为汇总对象,其中Total是每个帐户的借方和贷方的总和。
public class Summary {
public string Account {get; set;}
public decimal Total {get; set;}
}
我拍摄的最终结果是一个明显的帐户列表,其中包含每个帐户累计的所有借记和贷记,因此我不需要每个帐户/借记/贷记多行,我有一个摘要预测。
Account,Debit,Credit
1,5.00,0.00
2, 0.00, 0.00
我们说detailrecords
是IEnumerable<Detail>
类型的填充集合。
var results = detailrecords
.GroupBy(x => x.Account)
.Select(c => new Summary() {
Account = ?? I can't figure out how to access my detail properties here
Total = ?? I am not sure how to perform arithmetic without access to detail properties
}).ToList();
答案 0 :(得分:0)
您正在寻找的是这样的:
var results = detailRecords
.GroupBy(x => x.Account)
.Select(c => new Summary
{
Account = c.Key,
Total = c.Sum(y => y.Credit + y.Debit)
}).ToList();