Я хочу создать коллекцию прокручиваемых изображений, и у меня есть несколько идей о том, как go об этом. Я пошел по нескольким неверным путям, и мне пришлось отказаться, поэтому я решил открыть свой текущий план на тот случай, если кто-нибудь сможет мне воспользоваться своим опытом, чтобы сообщить мне, где я могу пойти не так.
Загрузка
Изображения хранятся в базе данных SQL в двоичном формате, доступны через DbContext и хранятся в DbSets. Я отделил свои объекты, которые используют изображения от самих изображений. Это позволяет мне создавать легкую нагрузку и полную загрузку, где небольшая нагрузка загружает всю информацию, за исключением тяжелых частей (в данном случае это двоичные данные изображения). Это позволяет витрине изображения очень быстро заполнять сетку, а затем go через каждое изображение в фоновом режиме, загружая их полностью.
Это был обходной путь, потому что я не смог найти или выяснить solid компонент для отложенной загрузки / виртуальной прокрутки / Intersecion Observer.
Я не хочу, чтобы пользователю приходилось перезагружать все эти изображения после их однократной загрузки. Я бы подумал, что dbset будет хранить данные после загрузки и мгновенно возвращать их для всех других запросов после этого момента. Но, похоже, это не так. Поскольку время загрузки, кажется, присутствует каждый раз.
Контент захватывается следующим образом
using (var context = new SampleContext())
{
var author = context.Authors.ToList();
}
У меня вопрос, должен ли я хранить результат этого запроса в самом контроллере?
Или государственный объект?
Или я что-то неправильно понимаю в dbSet и должен быть в состоянии извлечь их из памяти после их однократной загрузки?