У меня вонючий холод, и я не могу на всю жизнь привести свой мозг в движение, чтобы понять это!
jobStops.Where(jobStop => jobStop.TrailerId == trailer.TrailerId &&
(jobStop.IsDelivery == true &&
jobStop.JobStopDateTime.Value.Date.CompareTo(date.AddDays(x).Date) >= 0) &&
(jobStop.IsDelivery == false &&
jobStop.JobStopDateTime.Value.Date.CompareTo(date.AddDays(x).Date) <= 0))
Очевидно, я знаю, что у нас не может быть, где столбец является истинным и ложным, поскольку это невозможно, но то, что я ищу, - это оператор where, который нужно прочитать дважды, чтобы отфильтровать себя.
Таким образом, приведенный выше запрос в основном говорит: извлеките из базы данных строку трейлера, где он был доставлен в будущем, и он был собран в прошлом, поэтому я знаю, что на тот момент было на трейлере.
(jobStop.IsDelivery == true &&
jobStop.JobStopDateTime.Value.Date.CompareTo(date.AddDays(x).Date) >= 0)
Это относится к товарам, которые будут поставлены в будущем
(jobStop.IsDelivery == false &&
jobStop.JobStopDateTime.Value.Date.CompareTo(date.AddDays(x).Date) <= 0)
В конечном итоге это предназначено для фильтрации результатов приведенного выше предложения where, чтобы в нем отображались только те элементы, которые были собраны.
Я знаю, что это, вероятно, действительно просто, но проект должен был завершиться вчера, и я просто не могу обойти его с этим вонючим холодом.