我现在用的是漂亮的小号#ARP信息库和寻呼扩展方法加上排序是这样的:automapper +延迟加载+ MVC的contrib电网+ 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的contrib网格执行短缺憾的是,它不允许排序为自定义列(例如组合的列值)像这样:
String.Format("{0} {1}", lab.Proposer.LastName, lab.Proposer.FirstName)
(在视图中使用)
我试图避免在我的相当简单的s#arp解决方案中查看模型,但也许我可以在这种情况下使用视图模型来允许按自定义列进行排序。
我已经使用automapper映射域模型,在过去查看模式,反之亦然。但是,我有这个解决方案的一个问题。这仍然工作使用延迟加载?
换句话说不automapper不必所有域对象首先映射到视图的对象之前它可以做排序和分页导致性能降低?
我希望这是有道理的,你明白我在做什么。谢谢。
最良好的祝愿,
基督教