这是ASP.MVC 3控制器代码,由带有EF 4.1工具的“Controller / with read / write actions and views,using Entity Framework”向导生成。当你有10-20条记录时,它在演示中效果很好,但是当你从具有10,000多条记录的DbContext中提取数据时,它显然会减慢速度并产生一个不可用的长页面。
那么,您如何修改Index()以在 db.Courses.ToList()中实现分页?
// wizard generated MVC Controller code
namespace Scheduler.Controllers
{
public class CourseController : Controller
{
private CourseEntities db = new CourseEntities();
//
// GET: /Course/
public ViewResult Index()
{
// returns over 10,000 courses in the list
return View(db.Courses.ToList());
}
}
}
答案 0 :(得分:1)
似乎有点Linq to Entities。
这是我修改过的Index()控制器:
public ViewResult Index(int page = 0)
{
int pageSize = 10;
var courses = db.Courses.OrderBy(c => c.Id).Skip(page * pageSize).Take(pageSize);
return View(courses);
}
然后在视图中构建链接,将页面参数附加到网址,如下所示:
/场?页= 2
答案 1 :(得分:1)