Maciej Los
Если я вас хорошо понимаю...
var a1 = Model.Candidates
.Select(d=> d.Candidate_ID)
.Take(5)
.ToList();
var a2 = Model.Candidates
.Select(d=> d.Candidate_ID)
.Skip(5)
.Take(5)
.ToList();
var a3 = Model.Candidates
.Select(d=> d.Candidate_ID)
.Skip(10)
.Take(5)
.ToList();
В случае, если вы хотите создать пользовательскую разбиение на страницы, вы можете достичь этого, создав универсальный метод. Видеть:
void Main()
{
List<Candidate> Candidates = GetCandidates();
int j = 5;
for(int i = 0; i<Candidates.Count; i+=j)
{
var data = GetPortion<Candidate>(Candidates, d=>d.Candidate_ID, i, j).ToList();
data.Dump();
}
}
// Define other methods and classes here
class Candidate
{
public Guid Candidate_ID {get; set;}
}
IEnumerable<T> GetPortion<T>(IEnumerable<T> list, Func<T, object> orderByField, int curr_val, int NoOfRecordsToGet) where T: class
{
return list.OrderBy(orderByField).Skip(curr_val).Take(NoOfRecordsToGet);
}
List<Candidate> GetCandidates()
{
List<Candidate> candies = new List<Candidate>();
for(int i = 0; i<28; i++)
candies.Add(new Candidate(){Candidate_ID = Guid.NewGuid()});
return candies;
}
Maciej Los
Если вы хотите получить определенную часть данных, вы должны создать пользовательский метод, который будет получать в качестве параметра: 1) количество данных для получения и 2) количество данных для пропуска. Затем вам нужно будет создать переменные в цикле for (...). Это все.