Поиск в двух полях столбца с использованием asp. net mvc - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу выполнить поиск, используя PersalNumber или IdNumber, и он выдал ошибку, которая говорит:

Нет перегрузки для метода 'Где' принимает 2 аргумента

У меня есть схема, состоящая из PersalNumber и IdNumber

  • PersalNumber хранит рабочий номер
  • IdNumber хранит номера паспортов или водительских прав и т. д. c
  • Teachers - это имя таблицы

Ниже приведен код, который я использую для поиска в обоих полях.

    public ActionResult PopulateResult(string search)
    {
        return View(db.teachers.Where(x=>x.PersalNumber.Contains(search), s=>s.IdNumber.Contains(search)).ToList());
    }

Я хочу знать, есть ли что-то, что я здесь делаю неправильно?

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Вы должны отрегулировать свое состояние, как показано ниже

db.teachers.Where(x => x.PersalNumber.Contains(search) || 
                       x.IdNumber.Contains(search)).ToList();
0 голосов
/ 24 февраля 2020

Вам нужно использовать || (или) оператор между двумя условиями.

return View(db.teachers.Where(x=>x.PersalNumber.Contains(search) ||  
                                 x.IdNumber.Contains(search)).ToList())

, и вы должны сделать сравнение, используя аргумент x , а не этот неопределенный s
Обратите внимание, это должен работать правильно, если и PersonalNumber, и IdNumber являются строками.

...