EFCore 3.0 изменил запрос (запросы), сгенерированный с помощью .Include()
, и вы столкнулись с проблемой декартового взрыва ;
В частности, в Документах теперь есть следующее предупреждение красного цвета:
Внимание
Начиная с версии 3.0.0, каждое включение будет вызывать добавление дополнительного JOIN к запросам SQL, создаваемым реляционными поставщиками, тогда как предыдущие версии генерировали дополнительные запросы SQL. Это может значительно изменить производительность ваших запросов, в лучшую или худшую сторону. В частности, запросы LINQ с чрезвычайно большим числом операторов включения могут быть разбиты на несколько отдельных запросов LINQ, чтобы избежать проблемы декартового взрыва.
Решение состоит в том, чтобы выполнить несколько запросов сейчассогласно документам.
Его супер неудачная загрузка графов сущностей, общая для сильно нормализованных данных, настолько неэффективна, но это ее текущее состояние с EF.
См .: Загрузка Данные и прокручивайте, пока не увидите красный.