2013-06-03 3 views
1

Heres другая проблема:найти максимальное значение столбцов, используя метод, где

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 = list task и activityid = list activity.

+0

Вы не указали д, как вход вашего, где лямбда –

+0

@ user2376998: Я уже ответил на ваш старый пост http://stackoverflow.com/questions/16888868/entity-framework-where- метод – sarwar026

+0

Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

ответ

2

Ваш синтаксис поодаль: вам нужно добавить q => функции Where, а также изменить порядок функций, так что Max последняя функция в цепи,

int maxQNo = Convert.ToInt32(
    context 
     .questions 
     .Where(q => q.TaskName.Contains(listTask) && q.ActivityID == listActivity) 
     .Max(q => q.QuestionNo) 
); 
0

Вы забыли поставить q => в Where даного

0

Добавить q => блок в Where пункте А также вам нужно заменить == на 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; 
} 
Смежные вопросы