使用where方法查找列的最大值
本文关键字:最大值 查找 where 方法 使用 | 更新日期: 2023-09-27 18:16:49
还有一个问题:
public int GetMaxValue(string listTask , int listActivity)
{
int maxQNo = Convert.ToInt32(context.questions.Max(q => q.QuestionNo).Where(q.TaskName.Contains(listTask) && q.ActivityID == listActivity));
return maxQNo+1;
}
我得到q不存在的错误是当前上下文,我在这里要做的是获得列(questionNo)的最大值,其中taskname =列表任务和activityid =列表活动。
您的语法有点偏离:您需要将q =>
添加到Where
函数中,并更改函数的顺序,以便Max
是链中的最后一个函数,
int maxQNo = Convert.ToInt32(
context
.questions
.Where(q => q.TaskName.Contains(listTask) && q.ActivityID == listActivity)
.Max(q => q.QuestionNo)
);
您忘记在Where
语句中添加q =>
在Where
子句中添加q =>
块,并且由于您现在使用的是列表,您还需要将==
替换为Contains
。
public int GetMaxValue(string listTask , int listActivity)
{
int maxQNo = Convert.ToInt32(context.questions.Max(q => q.QuestionNo)
.Where(q=>q.TaskName.Contains(listTask) &&
q.ActivityID.Contains(listActivity));
return maxQNo+1;
}