c# - WebAPI 中的 EFCore 3.1 应返回什么类型的集合?

标签 c# asp.net-core entity-framework-core asp.net-core-webapi c#-8.0

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

关于c# - WebAPI 中的 EFCore 3.1 应返回什么类型的集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59330744/

相关文章:

c# - 从窗口句柄获取窗口实例

c# - 在 c# asp.net Core 中压缩图像

c# - 在 UserManager 上等待导致错误在上一个操作完成之前在此上下文上启动了第二个操作

c# - 在 Windows 7 中隐藏桌面项目 - 不工作

c# - 如何通过继承将xml反序列化为对象?

c# - 如何在 N 层架构中使用 ASP.NET Core 应用程序使用 EF Core DBContext?

validation - ASP.NET CORE 3.1 中数据注释和错误验证消息的本地化

c# - EF Core EnableSensitiveDataLogging 无法按预期工作

c# - EF Core - 使用 Automapper 从 OData 返回映射的多对多关系

c# - 从 SQL Server 中转换一个 tiny int