我正在尋找一種更優雅的方式來總結2列,使用LINQ進行月份到日期。我有以下查詢哪些工作正常,但它看起來效率低下。使用LINQ求和列
什麼是更好的重寫方式?
謝謝
TotalLaborHours = db.Timesheet.Where(a => a.Date <= MDate & a.Date.Month == MDate.Month)
.Select(a => a.RegularPaidHours).Sum() +
db.Timesheet.Where(a => a.Date <= MDate & a.Date.Month == MDate.Month)
.Select(a => a.OvertimeHours).Sum();
或者只是TotalLaborHours = db.Timesheet .SUM(A =>一個。 Date <= MDate && a.Date.Month == MDate.Month?a.RegularPaidHours + a.OvertimeHours:0); –
這正是我所期待的。謝謝! – iCosmin
個人偏好,但我認爲現在的答案比刪除where子句和使用三元操作強制所有對「Sum」的調用更具可讀性。 –