我创建了一个动态分页模型,用于在我的项目的页面中显示数据。
在我的控制器中,我有两次调用数据库:
public async Task<IActionResult> Index(int? page)
{
...
var count = await _context.Agent.CountAsync();
var items = await _context.Agent.Skip((_page - 1) * pageSize).Take(pageSize).ToListAsync();
...
分页工作正常。我只是想知道这是否是表现最好的方式。
正如您所看到的,我正在拨打两个电话给DB,一个用于计算知道页数,另一个用于获取实际数据。
我不太了解这个数据库调用,知道他们是在自己的数据库中还是在服务器端进行处理。如果两者都在数据库中处理,那么一切都很好,因为我们正在节省资源,但如果他们在服务器上进行处理,我认为最好使用一个呼叫并存储它在DbSet中,并操纵对象。
那么,更好的是什么?