gpt4 book ai didi

c# - ASP.NET Core WebApi 检索最后 n 条记录

转载 作者:行者123 更新时间:2023-12-05 01:51:17 24 4
gpt4 key购买 nike

我已将 GET 请求放在一起,该请求返回 WebApi 上的最后 n (5) 条记录。只需创建一个调用以使整个列表恢复异步,然后计算最后五个项目,将它们添加到自定义类型的列表中,在本例中为 Application,然后添加到新列表并返回。

是否有更有效的方法在 .Net Core 6 webapi 上使用 Entity Framework 核心运行此查询?

这是我当前的代码:

// GET: api/Application/last5
[HttpGet("last5")]
public async Task<ActionResult<IEnumerable<Application>>> Get5Applications()
{
var list = await _context.Applications.ToListAsync();

List<Application> returnedData = new List<Application>();

for (int i = Math.Max(0, list.Count - 5); i < list.Count; ++i)
{
returnedData.Add(list[i]);
}

return returnedData;
}

最佳答案

尝试

_context.Applications.OrderByDescending(x => x.sortingproperty).Take(5);

System.Linq 提供了一个 Take 函数,但看起来您需要按降序排序。你需要有某种你想要排序的属性。将 sortingproperty 替换为适合您需要的任何内容,通常是某种 ID。我希望这有帮助。如果您不需要相反的顺序,那么您可以使用 _context.Applications.Take(5)

关于c# - ASP.NET Core WebApi 检索最后 n 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72386933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com