NPoco/Petapoco: набор данных слишком велик для Fetch<T>
У меня есть код, который должен обрабатывать каждую запись в наборе данных, которую я извлек из базы данных через
List<Poco> lp = Fetch<Poco>("Select * from X");
Моя программа падает здесь с исключением из-за нехватки памяти. Если бы я делал это старомодным способом, это было бы так: создать читателя, а затем перебирать каждую найденную запись. Каков наилучший способ добиться чего-то подобного с помощью Npoco / Petapoco?
1 ответ
Решение
Вам нужна ленивая загрузка (где каждый результат загружается в память во время итерации перечисляемого), а не стремительная загрузка (когда все результаты загружаются в память одновременно).
NPoco, похоже, использует Fetch для быстрой загрузки и Query для отложенной загрузки.
Попробуйте использовать метод Query.