Добрый день,EF 5 большая стратегия загрузки данных
У меня есть следующие таблицы
РОДИТЕЛЕЙ 1 => N ДЕТИ 1 => N внуками.
Обе таблицы имеют более 30 столбцов.
Мне нужно выбрать более 50 000 записей из РОДИТЕЛЯ, плюс мне понадобятся определенные поля от ДЕТЕЙ и ГРАНДЖИЛЛЕ. Данные необходимы для управления в памяти (сложные алгоритмы на том, что было выбрано).
Я использую Entity Framework 5.
Я пробовал различные комбинации жадной загрузки (включая, проекция и т.д.), но я до сих пор не в состоянии сделать это лучше выполнить то perorms с LINQ к SQL в следующий сценарий:
" ВЫБРАТЬ из ПРОЕКТОВ
на связывании каждой строки: ВЫБРАТЬ от детей ВЫБРАТЬ из внуки
"
он генерирует не менее 50 001 вызовов в БД, но он по-прежнему работает лучше, чем любой из моих подходов к EF, которые занимают больше x5, чем текущий проект LINQ-to-SQL.
Лучшим решением было бы иметь запрос WHERE IN для детей, но он не доступен в EF 5 в собственной реализации (содержит не режет - слишком медленно для плохо сделанного ...).
Любые идеи будут высоко оценены.
Спасибо,
Сетка, отображающая 50000 строк? –
Согласен, никто не собирается просеивать через 50 000 строк, предоставленных им. Прежде чем показывать в пользовательском интерфейсе, вам нужно посмотреть на пейджинг и/или фильтрацию. – gunr2171
Можете ли вы добавить хранимую процедуру или просмотреть базу данных и добавить ее в свою модель? –