(thanks for the great feedback!
)
That scenario indeed can be done by using a fetch using MaxNumberOfItemsToReturn set to the pagesize*pagenumber + initial rows, and no paging, and a where clause with the id's already seen. However this is a bit hacky and gets slower when you move over the set.
As you're effectively paging over the set using pages of 10 rows, you can use the MaxNumberOfItemsToReturn parameter as well. So set it and also set the page number / pagesize (pagesize to 10). This of course out of the box doesn't do anything differently.
In the SqlServerDQE sourcecode, you should change the following:
- in CreatePagingSelectDQ, you should pass to the maxNumberOfItemsToReturn to the mangle method you're using (so the 2005 one if you're using sqlserver 2005 or higher and have set the compatibility mode to that value (it's the default in v3).
- In the mangle method, e.g. ManglePageSelectDQ for sqlserver 2005+, you add the parameter maxNumberOfItemsToReturn (long), and at line 923 and 924, you add maxNumberOfItemsToReturn to the numbers set as values on the parameters.
This way you can specify skipping. Not from linq, but from our own api you then are able to do so.
Compile the DQE code using your own strong key (reference the shipped ormsupportclasses dll) and reference your dqe instead. That's it
We normally don't get that much bugfixes in this assembly so it should be fine.