我不想从数据库中获取所有项目并将它们转换为特定的视图模型,然后使用 PagedList 库来分页所有这些数据。
例如,我想在一个页面上获取 20 个项目,但我不明白什么时候应该将我的模型转换为视图模型?
这是方法
public ViewResult Index(ProductReviewRelationalFilterViewModel filterViewModel)
{
var items =
_productreviewService.GetItems(filterViewModel.ProductId, filterViewModel.UserId)
.Select(AutoMapper.Mapper.Map<ProductReviewListViewModel>);
var result = items.ToPagedList(filterViewModel.PageIndex, 20);
return View(result );
}
此方法获取所有项目,然后将它们转换为 ProductReviewListViewModel,然后为其进行分页。
我想要的是从 db 中只获得20 个项目并获得与上述相同的结果?
注意:GetItems 方法返回 IQueryable
添加的解决方案
我做了 GetItems 方法,也将总项目数作为 out int 参数返回。在控制器操作中,我使用 StaticPagedList 方法手动创建分页,就像这个链接说