Skip to main content
 首页 » 编程设计

c#之Web API 中的 EF Core 3.1 应返回什么类型的集合

2024年02月03日26qq号

我正在编写 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