如何使用EF Core和Angular在服务器端Web api .net Core 2.2+中进行分页?因为在我使用前端分页之前,但出于性能原因不建议使用它。
如果您想使用EF在后端进行分页,则可以利用Skip and Take方法。它取决于几件事,但是假设您可以“冻结”数据库或在数据库中拥有一组稳定的有序记录,则可以执行以下操作:
int pageSize=20;
int pageNumber=3;
IQueryable<MyEntity> entities = context.MyEntity.AsNoTracking()
.FromSql(query, parameters);
entities.OrderBy(e => e.Id);
entities = entities.Skip(pageSize*(pageNumber)).Take(pageSize);
请记住,根据新记录和删除记录或字段顺序的更改,并非总是可能的。但这是一个好消息,它支持多数据库。