У меня есть приложение wpf, которое сохраняет элементы в файле SQL Server Compact Edition.
Этот файл создается динамически из списка классов, которые составляют контекст данных.
Я испытываю медленное время загрузки, когда у меня следующий сценарий.
Попытка загрузить список ItemA, который содержит список ItemB
В моем тексте данных это ссылки на Таблицу1, Таблицу ссылок из Таблицы1 в Таблицу2 и Таблицу2
Чтобы вставить это в свое приложение, я загружаю все строки таблицы 1 с сервера Sql.
Для каждой возвращенной строки Table1 я добавляю любую информацию в New ItemA. Затем я ищу все строки таблицы Table2, которые ссылаются на текущую строку таблицы Table1 через таблицу ссылок. Для всех возвращенных строк таблицы 2 я преобразовываю их в список ItemB и добавляю их в ItemA.
Я в конечном итоге получаю список ItemA, каждый из которых содержит список ItemB. Проблема в том, что я делаю несколько звонков в БД, и это увеличивает время загрузки при получении нескольких сотен элементов.
Есть ли лучший способ сделать это без нескольких звонков?
Если нет, то какой лучший способ ускорить приложение? Должен ли я кешировать ItemA, если да, как лучше это сделать?