What could be causing this problem?
public ActionResult Index(int page = 0) { const int pageSize = 3; var areas = repo.FindAllAreas(); var paginatedA
An IQueryable does not have an order, so saying "ignore the next x elements" doesn't make any sense.
IQueryable
If you include an order by clause (or possibly an AsEnumerable() call - untested) then your data takes an order and Skip and Take are now sensible.
order by
AsEnumerable()
Skip
Take