我正在编写 ASP.NET Core 3.1 Web API,我发现自己很困惑……如果我使用正确的类型返回。
这是我的代码(为简单起见,我删除了分页):
public class UserData
{
public IEnumerable<UserDto> GetUsers()
{
var users = _fni.Users.AsNoTracking()
.OrderBy(row => row.UserName);
return _mapper.Map<IEnumerable<UserDto>>(users);
}
}
[HttpGet]
public IActionResult GetUsers()
{
var users = _userData.GetUsers();
return Ok(users);
}
从数据库中查询用户并立即返回给 API 的客户端。在 C# 8 时代,返回此集合的最佳方式是什么?
-
IEnumerable -
List<UserDto> -
async Task<List<UserDto>> -
IAsyncEnumerable
编辑:问题是关于 EFCore3.1 应在 UserData 中的数据存储库中返回的内容类(class)。 不是 来自 Controller 。
请您参考如下方法:
这是 Microsoft 提供的有关 Controller 返回类型的文档。看看对你有没有帮助
https://learn.microsoft.com/en-us/aspnet/core/web-api/action-return-types?view=aspnetcore-3.1
