у меня есть следующая таблица:
id serialcode timestamp
1 0001 01/02/2015
2 0001 02/02/2015
3 0001 03/02/2015
4 0002 03/02/2015
В linq я получил максимальный идентификатор для сгруппированного серийного кода и упорядочил результат по убыванию метки времени. Так что я:
var list = db.mytable.GroupBy(x => x.serialcode).Select(g => g.OrderByDescending(x => x.id).FirstOrDefault()).OrderByDescending(x => x.timestamp);
Я получаю следующие строки:
id serialcode timestamp
3 0001 03/02/2015
4 0002 03/02/2015
Теперь я хочу отфильтровать строки, например, по серийному коду и использовать список страниц mvc для подкачки результатов. Я пытался:
var list = db.mytable.GroupBy(x => x.serialcode).Select(g => g.OrderByDescending(x => x.id).FirstOrDefault());
list = list.Where(x => x.serialcode == myserialcode);
list.OrderByDescending(x => x.timestamp);
....
....
return View(list.ToPagedList(pageNumber, pageSize));
Но у меня есть следующая ошибка: «Метод Skip поддерживается только для отсортированного ввода в LINQ to Entities. Метод OrderBy должен вызываться перед методом Skip».
В чем проблема? Я заказал результирующий набор!?