Вот мой сценарий: 1) Пользователь запускает поиск для получения значений для отображения в ListView через LinqDataSource. 2) Они нажимают на один из элементов, который переводит их на другую страницу, где можно изучить подробности, выполнить дальнейшую детализацию и т. д. 3) Пользователь хочет вернуться к исходным результатам ListView, чтобы выбрать другой элемент для проверки.
Я вижу, что можно передавать параметры строки запроса, позволяя дублировать запрос каждый раз, когда пользователь возвращается в ListView, но кажется, что должен быть способ кэшировать результаты.
Однако, поскольку я использую LinqDataSource, я считаю, что фактические результаты извлекаются каждый раз при выполнении запроса. В настоящее время я подаю тип IEnumerable «выберите новый {бла, бла}» для e.Results, который нельзя превратить в список, поскольку он заполнен анонимными типами.
Вкратце: 1) Имеет ли смысл пытаться размещать потенциально большие результаты запроса в сеансе пользователей? 2) Если это так, является ли список разумной структурой данных? 3) Нужно ли мне прибегать к чему-то вроде создания класса с правильными свойствами для хранения анонимных данных, перечисления возврата запроса, заполнения списка? 4) Есть ли лучший вариант, чем LinqDataSource для этой цели? 5) Или имеет смысл запускать запрос каждый раз, когда они попадают в ListView?
Прошу прощения, если это было неясно. Я был бы очень признателен, если бы кто-нибудь смог меня поправить, прежде чем я истрачу кучу своего свободного времени по ложному пути :)