实体框架Where方法

本文关键字:方法 Where 框架 实体 | 更新日期: 2023-09-27 18:16:26

我需要一些帮助在这方面,我如何写一个where子句语句,我想根据2列检索记录:

这是我如何试图写在代码:

public IList<Model.question> GetAll(string search , int search1)
{
    IList<Model.question> lstQuestions = context.questions.ToList();
    return lstQuestions.Where(a => a.TaskName.Contains(search) && p => p.ActivityID.Contains(search1)).ToList(); 
}

但是这个语句有一个错误。

-----以上解决------------

还有一个问题:

 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 =列表活动。

实体框架Where方法

public IList<Model.question> GetAll(string search , int search1)
    {
        IList<Model.question> lstQuestions = context.questions.ToList();
        return lstQuestions.Where(a => a.TaskName.Contains(search) && a.ActivityID==search1)).ToList(); 
    }

新问题的答案:

Where子句中添加q =>

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