Example #1
0
        void ExecuteReader <T>(IDataReaderResult <T> result, int recordCount)
        {
            int index     = 0;
            int processed = 0;

            result.Init(DataReader);
            while (DataReader.Read() && processed < recordCount)
            {
                if (index >= RecordOffset)
                {
                    processed++;
                    result.Read(DataReader);
                }
                index++;
            }
            result.End();
        }
Example #2
0
        async Task <T> ExecuteReaderAsync <T>(IDataReaderResult <T> result, int recordCount, CancellationToken cancel)
        {
            int index     = 0;
            int processed = 0;

            result.Init(DataReader);
            while ((await DataReader.ReadAsync(cancel)) && processed < recordCount)
            {
                if (index >= RecordOffset)
                {
                    processed++;
                    result.Read(DataReader);
                }
                index++;
            }
            result.End();
            return(result.Result);
        }