我有一个数据库表名称问题,在该表中,有很多列,但我想关注这3列:Activity,Task和QuestionNO
问题是我想在参考活动和任务时获得列QuestionNo的最大值。因此,如果活动为1,任务为2,则问题从1,2开始,依此类推,然后当activiy为1时,任务为3,questionNo从1,2开始,依此类推...因为我将继续添加+1值为QuestionNo列的最大值,我想从1开始,当它的活动和任务不同时。
现在问题在数据库中显示如下:
Activity Task QuestionNo
1 2 1
1 2 2
1 2 3
1 3 4
1 3 5
2 1 6
我希望它像:
Activity Task QuestionNo
1 2 1
1 2 2
1 2 3
1 3 1 <---
1 3 2 <---
2 1 1 <---
现在我的代码检索列QuestionNo的最大值仅为:
public int GetMaxValue()
{
int maxQNo = Convert.ToInt32(context.questions.Max(q => q.QuestionNo));
return maxQNo+1;
}
我正在使用实体框架。我想知道如何在参考活动和任务时检索列QuestionNo的最大值。
答案 0 :(得分:0)
使用Where
public int GetNextQuestionNo(int activity, int task)
{
return context.questions
.Where(q => q.Activity == activity && q.Task == task)
.Max(q => q.QuestionNo) + 1;
}