小编Lon*_*nga的帖子

EF Core、服务和存储库模式

为了了解模式,我正在使用以下项目创建 Web API:实体、存储库、服务和 API 应用程序。

API 中的每个控制器都对其相应的服务使用依赖注入;每个服务使用 DI 到多个存储库;存储库用于从 DbContext 获取数据,实体包含 DbContext 和 DbSet。

例如,当我调用 /teams/1 端点时:

  • GetTeam(id)控制器调用中的函数_teamService.GetTeam(id);
  • 服务电话_teamRepository.GetTeam(id);
  • 存储库执行 LINQ 调用,将Context.Team.First(...)团队实体模型返回给服务;
  • 服务获取模型并将其映射到返回控制器的 DTO;
  • 控制器以 JSON 格式将其提供给应用程序。

这是管理流量的正确方法吗?

此外,想象一下控制器必须检索团队及其所有比赛:注入CompetitionRepository 并从TeamService 使用它是否正确?就像是:

TeamService.cs

return new DTOObject {
    team = _teamRepo.GetTeam(id),
    competitions = _compRepo.GetCompsByTeam(id) <-- is a list
}
Run Code Online (Sandbox Code Playgroud)

c# entity-framework repository-pattern

1
推荐指数
1
解决办法
3420
查看次数

标签 统计

c# ×1

entity-framework ×1

repository-pattern ×1