Я родом из ColdFusion, где мы часто использовали Query of Queries для ускорения нашей страницы. Теперь у меня есть запрос, который вводит тонну данных всех отделов по всем сайтам, и на главной странице я хочу отобразить такую информацию:
Site 001
- Dept 01
- Dept 02
- Dept 03
Site 002
- Dept 01
- Dept 02
etc.
Как правило, я запрашиваю все уникальные сайты в моем мастер-запросе, назначая мастер-запрос переменной, и это попадает в БД один раз. Затем я сделал бы запрос запросов, чтобы запросить эту переменную для получения уникальных сайтов, а затем в цикле foreach запросить эту же переменную, чтобы получить отделы для сайта.
Насколько я могу судить в Entity Framework, каждый из моих запросов foreach фактически выполняется и снова запрашивает БД с нуля. Нет ли способа повторно использовать данные, которые вы уже извлекли в EF Core? Я работаю с базами данных более 100 000 строк, и, хотя у них есть ключи и они относительно быстрые, запрос 900 раз при загрузке одной страницы просто смешен.