Look at your Skip and Take code and compare the variable names used in those calls with the variable names passed into the Paginate method header.
public List<SomeEntity> Paginate(int skip, int take, Expression<Func<SomeEntity, bool>> predicate)
compared to
.Skip(skipValue)
.Take(takeValue)
Since, I'm assuming, the code compiles, that would lead me to believe you've got class-level variables called
skipValue
and
takeValue
. I don't know how your code is written, but it seems like having those variables as class-level would be a bad idea.
By the way, using the debugger on this code would have made it very easy to figure out where the problem is.