LINQを使用して月間2列を合計するより洗練された方法を探しています。私はちょうどうまく動作するが、それは非効率的に見える次のクエリがあります。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 => A。日付<= MDate && a.Date.Month == MDate.Month?a.RegularPaidHours + a.OvertimeHours:0); –
これはまさに私が探していたものです。ありがとうございました! – iCosmin
個人的な好みですが、私は、 'where'節を削除し、すべてを三項演算を使って' Sum'への呼び出しに強制するよりもはるかに読みやすいと思います。 –