Порционное чтение результата из SQL Server

Как реализовать средствами .NET порционное чтение результата при выборке большого количества данных. Например, чтобы читалось по 200 строк результата, или сделать аналогично чтению из сокета, считывать столько данных сколько уже загружено? Из асинхронного нашел только ExecuteReaderAsync и т.п., где все равно приходится ждать полно загрузки от SQL Server. (оптимизировать SQL запросы не предлагать, в конкретной задаче мне нужно именно решение с порционным чтением)

© Habrahabr.ru