Джанки,
Я вижу это все время, когда впервые захожу на сайты клиентов. Большинство домашних приложений следуют подходу «Загрузить все, а затем отфильтровать» к данным. Это действительно легко и помогает вам быстро начать работу, но это неизбежно приведет к тому, что вы только что упомянули.
Я призываю вас начать с предположения, что вашему приложению не нужно загружать какие-либо данные при запуске, за исключением его базовой конфигурации.
Дайте этому войти, затем рассмотрите возможность отфильтрованных вызовов вашей базы данных, поскольку приложение используется для получения чанков.
Кроме того, присмотритесь к своему LINQ и убедитесь, что ваша базовая модель данных оптимизирована. LINQ будет медленным, если у вас 3 огромных стола, попробуйте нормализоваться, LINQ справится лучше.
Кроме того, само LINQ должно иметь как можно больше фильтров в разделе «где».
И тогда, конечно, всегда просто ограничивается количество возвращаемых строк. Спросите себя, может ли пользователь реально посмотреть на 100 000 вещей? Удачи.