【发布时间】:2019-07-25 09:51:06
【问题描述】:
需要从 linq 查询中的选定列中获取总和
我对表格进行了分组,并根据组得到了记录,但是我需要得到候选人获得的分数总和。
(from subCategory in NIS_SUBCATEGORies
group subCategory by subCategory.ID into sg
join category in NIS_CATEGORies on sg.FirstOrDefault().CategoryId equals category.ID
join question in NIS_QUESTIONS on sg.FirstOrDefault().ID equals question.SubcategoryId
join nisAnswer in NIS_QUESTION_ANSWERS on question.ID equals nisAnswer.QuestionId
join userAnswer in NIS_USER_ANSWERS on new
{
X1 = nisAnswer.QuestionId,
X2 = nisAnswer.IsCorrectAnswer
} equals new
{
X1 = userAnswer.QuestionId,
X2 = true
}
join nisUser in NIS_USERS on userAnswer.UserId equals nisUser.Id
select new
{
SubCategoryName = sg.FirstOrDefault().Name,
CategoryId = category.ID,
FirstName = nisUser.FirstName,
LastName = nisUser.LastName,
MobileNumber = nisUser.UserName,
userMarks = question.Marks
}
).Distinct()
我需要下列的总和
userMarks = question.Marks
类似
userMarks = Sum(question.Marks)
【问题讨论】:
-
userMarks = question.Marks.Sum() -
@AAA:此代码无法正常工作并给出错误消息
-
错误信息是什么?
-
@AAA:'int' 不包含 'Sum' 的定义,最好的扩展方法重载 'System.Linq.Queryable.Sum(System.Linq.IQueryable
)' 有一些无效参数实例参数:无法从“int”转换为“System.Linq.IQueryable ” -
这意味着
Marks是一个整数。那你怎么能总结出来呢?你到底想做什么?