Как объединить два запроса linq вместе для оптимизации производительности - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть следующие два запроса, которые запрашивают из базы данных отдельно.

Я понимаю, что один запрос Linq намного лучше для оптимизации производительности.

Было бы возможно сделать комбинацию два следующих запроса?

result = GetAllJobModelsOrder(db.AllJobModel.Where(a => 
     a.JobTitle.Contains(searchTitle) 
  && a.locationName.Contains(searchLocation) 
  && (a.PostedDate == timesNow || a.PostedDate == time || a.PostedDate == time2 || a.PostedDate == time3 || a.PostedDate == time4 || a.PostedDate == time5 || a.PostedDate == time6 || a.PostedDate == time7))
.ToList());

result = (from app in result orderby DateTime.ParseExact(app.PostedDate, "dd/MM/yyyy", null) descending select app).ToList();

1 Ответ

1 голос
/ 08 апреля 2020

У меня есть два следующих запроса, которые запрашивают из базы данных отдельно.

Нет, вы не делаете. Первый запрос попадает в базу данных и передает результаты в GetAllJobModelsOrder. Второй запрос выглядит как находящийся в памяти объект LINQ-to-Objects, который фильтрует и сортирует результаты.

Я понимаю, что один запрос Linq намного лучше для оптимизации производительности.

Это не всегда так.

...