Вот моя ситуация: Я стараюсь следовать так же сильно, как я могу, трехмерную структуру (например, презентацию, бизнес и данные). Когда мне нужны данные из БД, бизнес-уровень вызывает слой данных, который возвращает информацию. Уровень данных никогда не возвращает объект SqlDataReader или DataTable, но часто является перечислением пользовательского объекта, известного уровнем доступа к данным. Он работает очень хорошо, когда слой данных должен возвращать список с несколькими объектами.3-ярусный шаблон и большие объемы данных
Теперь я сталкиваюсь с этой проблемой, мое приложение (бизнес-уровень) должно обрабатывать 500000 записей. Я мог бы просто добавить другой метод в свой слой данных и вернуть IEnumerable, но этот звук мне очень плохо. Я не хочу загружать полмиллиона записей в память.
Мой вопрос, учитывая модель с 3-мя уровнями, как мне обращаться с этим случаем? Если бы у меня не было шаблона из 3 ярусов, я бы просто использовал SqlDataReader в своих бизнес-классах. Какие-либо предложения?
ОБНОВЛЕНИЕ: Данные не будут отображаться, поэтому это не проблема подкачки (уровень презентации здесь вообще не задействован). Мне просто нужно проанализировать каждую запись, а затем сохранить некоторые из них.
Благодаря