为了了解模式,我正在使用以下项目创建 Web API:实体、存储库、服务和 API 应用程序。
API 中的每个控制器都对其相应的服务使用依赖注入;每个服务使用 DI 到多个存储库;存储库用于从 DbContext 获取数据,实体包含 DbContext 和 DbSet。
例如,当我调用 /teams/1 端点时:
GetTeam(id)控制器调用中的函数_teamService.GetTeam(id);_teamRepository.GetTeam(id);Context.Team.First(...)团队实体模型返回给服务;这是管理流量的正确方法吗?
此外,想象一下控制器必须检索团队及其所有比赛:注入CompetitionRepository 并从TeamService 使用它是否正确?就像是:
TeamService.cs
return new DTOObject {
team = _teamRepo.GetTeam(id),
competitions = _compRepo.GetCompsByTeam(id) <-- is a list
}
Run Code Online (Sandbox Code Playgroud)