考虑下面的代码,使用 EF 和 PagedList:
var students = from s in db.Students
select s;
int pageSize = 30;
int pageNumber = (page ?? 1);
return View(students.ToPagedList(pageNumber, pageSize));
如果学生表有 10,000 条记录,但我只想显示 30 条记录(一页),上面的代码是否从 DB 返回所有 10,000 条记录然后传递给查看?
如果是,最好在数据库中有一个存储过程并让存储过程进行分页并只从数据库返回 30 条记录,这是更好的性能方式(仅通过网络传输 30 条记录)吗?