将结果从ViewResult限制为10

时间:2013-05-16 14:19:16

标签: asp.net-mvc-3

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

我的代码包含在下面:

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

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

非常感谢。

Chri3

1 个答案:

答案 0 :(得分: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);