LINQ-分组后使用聚合函数
Posted lifedecideshappiness
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ-分组后使用聚合函数相关的知识,希望对你有一定的参考价值。
1.实现代码
/// <summary> /// 获取指定课程编号的总时长 /// </summary> /// <param name="courseId">课程编号</param> /// <returns></returns> public async Task<decimal> GetTotalDurationByCourseId(int courseId) { decimal totalDuration = 0; var result = _sectionInfoRepository.GetAll().AsNoTracking().Where(x => x.CourseId == courseId) .GroupBy(x => new { x.CourseId }) .Select(g => new { TotalDuration = g.Sum(x => x.ResourceDuration) }).FirstOrDefault(); var r = result.GetType().GetProperty("TotalDuration"); if (r != null) { totalDuration = Convert.ToDecimal(r.GetValue(result, null)); } return await Task.FromResult(totalDuration); }
以上是关于LINQ-分组后使用聚合函数的主要内容,如果未能解决你的问题,请参考以下文章