0

在我的 MVC 3 应用程序中,我引用了一个数据库,该数据库然后利用 ViewResult 方法来显示结果。我想知道由于数据库很大,是否有一种快速简单的方法可以一次将输出限制为 10 个结果?

我的代码包括在下面:

    public ViewResult Details(int id)
    {
        Gap gap = db.Gaps.Find(id);
        return View(gap);
    }

希望我在编辑控制器而不是视图时处于正确的位置?任何帮助将非常感激。

非常感谢。

克里斯3

4

1 回答 1

1

我同意您在正确的线路上编辑控制器。我正在使用带有 Linq 的实体框架,并使用 Skip 和 Take 将结果一次控制为 10。我的查询以前相当慢,因为该表有超过 20000 条记录并且还在增长,所以我一次只需要带回 10 条。

LogListViewModel model = new LogListViewModel
        {
            Logs = _repository.Logs
            .OrderBy(p => p.Timestamp)
            .Skip((page - 1) * PageSize)
            .Take(PageSize),
            PagingInfo = new PagingInfo
            {
                CurrentPage = page,
                ItemsPerPage = PageSize,
                TotalItems = _repository.Logs.Count()
            }
        };
        return View(model);
于 2013-05-16T14:23:08.630 回答