Hola Hay una cosa mala llamada PagedList que me tengo cuando veo un Cast Cast de Rob Conery.
http://blog.wekeroad.com/2007/12/10/aspnet-mvc-pagedlistt/
Tiene todas las funciones de salto y tomar cosas incorporada.
Todo lo que hacer es llamar
var query = from item in DB.Table
where item.Field == 1
orderby item.Field2
select item;
PagedList<MyType> pagedList = query.ToPagedList(pageIndex, pageSize);
creo que sirve .. lo estoy usando ahora y funciona está bien para linq a las entidades. Con Linq a las entidades, debe realizar un Orderby antes de poder usar Skip and Take.
Creo que tiene la función Tomar y Omitir para hacer esto. –