我有數千行,但我不想使用它Users.ToList()可能效率不高。我只想向 API 發送 20 或 30 行每個請求。接下來的 20 行和接下來的 20 行我想這樣做,有可能嗎?
喜歡 Twitter 或 Instagram
這里有什么更好的解決方案?
任何視頻或文章。我需要一些建議,
謝謝大家
注意:目前,我使用的是 ASP.NET Core 5.0,我使用 React Native 作為移動開發
uj5u.com熱心網友回復:
讓您的 API 端點接受頁面偏移量和頁面大小引數(由您決定 - 查詢字串、請求正文的一部分等)。然后,您可以使用IQueryable<T> .Skip和.Take擴展方法回傳請求的行集:
var results = _dbContext.YourDbSet
.Skip( pageOffset * pageSize )
.Take( pageSize );
uj5u.com熱心網友回復:
物體框架具有對分頁的內置支持。你可以像這樣很容易地實作它:
private IQueryable<Users> GetPageOfUsers(this IQueryable<Users> query, int pageNumber, int pageSize = 20)
{
// skip pages to get to the required page number
query = query.Skip(pageSize * pageNumber);
// take the number of entities to fill this page
query = query.Take(pageSize);
return query;
}
然后,您可以像這樣呼叫此擴展方法:
Users.GetPageOfUsers(0, 20).ToList();
值得注意的是,此方法不考慮在頁面請求之間可能插入頁面中間的行;但是,對于由資料庫生成和自動遞增的主鍵排序的傳統表,這可能不是一個重要問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/422432.html
標籤:
上一篇:授權成功后在ASP.NETCore3.1MVC中從AWSCognito檢索JWT令牌
下一篇:輸入字串的格式不正確。網
