Я использую хорошие репозитории s # arp и метод расширения подкачки, а также сортирую так:
public ViewResult Index(int? page, GridSortOptions sort)
{
ViewData["sort"] = sort;
if (!string.IsNullOrEmpty(sort.Column))
{
return View(this.LabService.GetAllLabs().OrderBy(sort.Column, sort.Direction).AsPagination(page ?? 1, 10));
}
...
Мой первый вопрос:
(1) Правильно ли, что сортировка должна выполняться до подкачки страниц и что все это использует ленивую загрузку (т.е. внутренне использует TOP n или что-то в реальном SQL)?
Одним из недостатков текущей реализации грид-вкладов mvc является то, что она не позволяет сортировать настраиваемые столбцы (например, объединенные значения столбцов) следующим образом:
String.Format("{0} {1}", lab.Proposer.LastName, lab.Proposer.FirstName)
(используется в виде)
Я пытался избежать моделей представления в моем довольно простом решении s # arp, но, возможно, я мог бы сделать с моделью представления в этом случае, чтобы разрешить сортировку по пользовательским столбцам.
В прошлом я использовал autopper для отображения моделей доменов для просмотра моделей и наоборот. Однако у меня есть одна проблема с этим решением. Это все еще работает при ленивой загрузке?
Другими словами, не обязан ли autopper сопоставлять ВСЕ объекты домена с объектами представления, прежде чем он сможет выполнять сортировку и разбиение по страницам, что приведет к снижению производительности?
Надеюсь, это имеет смысл, и вы понимаете, к чему я клоню. Спасибо.
С наилучшими пожеланиями,
Christian