SUM 2列嵌套在实体框架中的对象
本文关键字:对象 框架 实体 2列 嵌套 SUM | 更新日期: 2023-09-27 17:58:32
以下是模型的链接方式:项目可以有多个任务,任务可能有多个时间簿。tasktimes上有taskhours和员工员工有标准成本。
我目前正在计算所有任务的成本总和,方法是循环每个任务,然后乘以我需要的2列,然后求和。
public decimal CalculateCost(IEnumerable<Task> tasks)
{
decimal total = 0.0M;
foreach (var task in tasks)
{
var cost = from d in task.TaskTimes
select new { total = d.Employee.StandardCost * d.TaskHours };
total = cost.Sum(d => d.total);
}
return total;
}
肯定有比foreach循环更好的方法,但我似乎找不到语法。有没有更有效的方法,或者是这样做的方法?
感谢:)
尝试使用SelectMany()
var total = tasks.SelectMany(x => x.TaskTimes)
.Sum(d => d.Employee.StandardCost * d.TaskHours);