public List <T> SupplyPageOfData(int pageIndex, int pageSize) { List <T> result = new List <T>(); // Retrieve the specified number of rows from the database, starting // with the row specified by the lowerPageBoundary parameter. SelectPageOfDataCmd.Parameters.Add(Database.CreateParameter("@pageSize", pageSize, SelectPageOfDataCmd)); SelectPageOfDataCmd.Parameters.Add(Database.CreateParameter("@offset", pageIndex * pageSize, SelectPageOfDataCmd)); using (DbDataReader reader = SelectPageOfDataCmd.ExecuteReader()) { while (reader.Read()) { result.Add(ConstructFromRecord(reader)); } } return(result); }