So, I'm sure, big picture-wise, this isn't the best architecture, but to implement paging at the service level you can just query your objects from the data access level and then implement the paging logic on your object list at your BLL level like so:
if ((startRowIndex != 0 && startRowIndex != null)
&& (maximumRows != 0 && maximumRows != null))
{
if ((audits.Count - startRowIndex) < maximumRows)
{
audits = audits.GetRange((int)startRowIndex, audits.Count - (int)startRowIndex);
}
else
{
audits = audits.GetRange((int)startRowIndex, (int)maximumRows);
}
}
return audits;
The Count method required by the objectDataSource takes the same parameters as your main "Get" method and calls that "Get" method and then returns the .Count.
Again, not the best way but gets the job done.