DB调用在哪里处理?

时间:2017-10-03 09:46:39

标签: c# performance asp.net-core

我创建了一个动态分页模型,用于在我的项目的页面中显示数据。

在我的控制器中,我有两次调用数据库:

    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中,并操纵对象。

那么,更好的是什么?

0 个答案:

没有答案