Как использовать предложение where с разными данными в одном столбце в структуре сущности? - PullRequest
0 голосов
/ 06 мая 2020
public ActionResult Index()
   {
     var results = db.Employee
        .Where(d => d.JOBID == "Tester" 
            && d.JOBID == "Developer" 
            && d.Salary =="2000")
        .ToList();

     return View(results);
  }

Результаты

НАЗВАНИЕ ЗАРПЛАТА НА РАБОТУ

  1. John Tester 4000
  2. joy Developer 2000

Ответы [ 2 ]

1 голос
/ 07 мая 2020

, если вы хотите применить выбор из двух значений из одного столбца, вам лучше использовать оператор OR . В нем будет указан либо Tester , либо Developer , кого их зарплата ровно 2000

public ActionResult Index()
   {
     var results = db.Employee
        .Where(d => 
                    (d.JOBID == "Tester" || d.JOBID == "Developer") && 
                    d.Salary =="2000")
        .ToList();

     return View(results);
  }
0 голосов
/ 07 мая 2020

Если вы хотите использовать предложение Where для выбора из одного столбца на основе нескольких значений, сначала поместите значения, которые вы ищете, в список:

var jobIdList = new List<string>();

jobIdList.Add("Tester");
jobIdList.Add("Developer");

Теперь вы можете использовать Contains предложение для запроса любых результатов, имеющих значение в этом списке.

 var results = db.Employee
    .Where(d => (jobIdList.Contains(d.JOBID) 
        && d.Salary =="2000"))
    .ToList();

Таким образом, ваш запрос всегда работает одинаково, но вы можете изменить получаемые результаты, изменив значения в jobIdList. Хотите включить менеджеров? jobIdList.Add("Manager");, затем снова запустите свой запрос. Теперь вы хотите удалить разработчиков и вернуть только тестировщиков и менеджеров? jobIdList.Remove("Developer"), затем запустите свой запрос и получите новые результаты. Это делает ваш метод запроса намного более гибким. Теперь вы возвращаете любого сотрудника, у которого JOBID есть в списке И зарплата = 2000 (вы можете посмотреть на это значение зарплаты, жесткое кодирование, которое может быть не идеальным).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...