mrahhal / MR.EntityFrameworkCore.KeysetPagination

Keyset/Seek/Cursor pagination for Entity Framework Core.
MIT License
218 stars 11 forks source link

Make this nuget independent from entity framework. #32

Open miketof opened 1 year ago

miketof commented 1 year ago

Hi! This nuget is great! I know that it is targetting mostly to entity framework, but small changes can make it independent from EF. The only place where's used async iqueryable is KeysetPaginationExtensions. If you change line 152: return context.OrderedQuery.AnyAsync(lambda); to return Task.FromResult(context.OrderedQuery.Any(lambda)); you can get rid of the entity framework reference. This will allow using of pagination with other ORMs using IQueryable (e.x. MongoDB.Driver). I can push these changes to another branch and make PR if you allow me to.

mrahhal commented 1 year ago

Hi. Would have liked that, but since the name of the package itself contains "EntityFrameworkCore" this will be a bit problematic. In addition, I don't like that this means we'll be blocking on async, this isn't acceptable at all. I am willing though to change some of the infrastructure here to be able to produce separate packages (adapters) for different ORMs using the idiomatic approach of that ORM.