c#引用另一列获取数据库的列最大值

时间:2013-05-31 02:23:43

标签: c# database entity

我有一个数据库表名称问题,在该表中,有很多列,但我想关注这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的最大值。

1 个答案:

答案 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;
}