У меня есть несколько методов, которые возвращают список T, например, GetAllEvents. В некоторых случаях мне нужно отфильтровать этот список событий (или каков мой Список) по дате или какому-либо другому свойству элементов.
Я знаю, что запросы LINQ могут быть «сцеплены» или иметь х строк, которые еще больше их уточняют, и запрос не будет выполняться до тех пор, пока вам не понадобится фактически использовать их в выражении, отличном от linq (пожалуйста, исправьте меня, если Я не прав в этом верующем.)
У меня вопрос: если мой метод GetAllXXX возвращает список того, что я получаю, то метод .ToList (), который я использую в конце моего кода GetAllXXX, выполняет LINQ? Должен ли я вернуть IEnumerable вместо этого? Если только в тех случаях, когда мне нужно сделать что-то еще с «результатами» ДО того, как запрос действительно запустится.
Вот пример моего беспокойства: я сказал 1000 событий. GetAllEvents извлечет все 1000 и выдаст мне их Список. Затем, в зависимости от того, на какой странице находится пользователь, могут отображаться только события на сегодня, на этой неделе или в определенной категории. В идеале, к моменту, когда я показываю пользователю 5 событий, происходящих сегодня, я не хочу передавать все 1000 по проводам, а затем обрезать их до 5, которые они действительно хотят. Да, я знаю, что на данный момент все это на стороне сервера, но если он все еще выделяет память для 1000, я пытаюсь избежать этого.
Есть указатели или предложения?