巧用Linq分組
阿新 • • 發佈:2019-01-26
如下圖,想根據下面的資料按天求和分組(紅框部分)
在後臺取過來用ORM已經轉成了物件陣列,為了避免再去寫麻煩的sql語句(資料量不大,不要求效能),就用了Linq,問題是分組的部分不是時間欄位的全部,只是年月日部分,然後對數值部分進行求和
var newList = (from t in list
orderby t.TradingTime
group t by t.TradingTime.ToString("yyyy-MM-dd")
into g
select new
{
BorrowMoney = g.Sum (p => p.BorrowMoney),
LoanMoney = g.Sum(p => p.LoanMoney),
TradingTime = g.Key
}
).ToList();
以上程式碼就根據年,月,日分組(忽略時分秒),並對個別欄位進行了求和,相較之下比sql語句要來得簡單