Tuve el problema exacto la semana pasada. Check out Extending your ASP.NET Web API responses with useful metadata
Utilicé esta publicación y el código de muestra para obtener una cuadrícula de paginación funcionando con OData. Como se detalla en la muestra, creé un controlador de delegación para capturar HttpResponseMessage y envolverlo en metadatos personalizados que incluyen un recuento de elementos. También se crea un atributo personalizado, CustomQueryableAttribute, que hereda el QueryableAttribute predeterminado.
Puede sonar un poco complejo aquí, pero en realidad es bastante simple de implementar. Tuve algo funcionando en aproximadamente 30 minutos.
Esperemos que las versiones futuras de la API web tengan una compatibilidad más completa con OData.
EDITAR: El soporte de Odata NO se enviará con la API web. El atributo consultable se está eliminando para la versión RTM. El soporte de OData más completo estará disponible en algún momento después de la actualización inicial a través de un paquete Nuget por separado.
Tenga en cuenta que el número total de elementos puede cambiar mientras el usuario lee las páginas. Por ejemplo, si los "elementos" en su lista son respuestas a una pregunta de SO, entonces el número puede haber aumentado de 20 a 30 antes de que el usuario haya llegado al final de la lista. Esto hace que el número total de páginas sea algo incierto. – Peter