-2

这是我想用来获取此数据的 ApiController。

[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
    private readonly IRegionService _service;
    public TestController(IRegionService service)
    {
        _service = service;
    }

    [HttpGet]
    public IEnumerable<RegionModel> Get()
    {
        return _service.GetAll();
    }

    [HttpGet, Route("api/region/getAll")]
    public IEnumerable<RegionModel> GetAll()
    {
        return _service.GetAll();
    }
}

现在要获取此数据,我将按照标题中说明的步骤进行操作。

IService->Service->IRepository->Repository

Respository我使用 LLBLGen 获取数据。如何在项目中设置使用此存储库的范围?我也在使用AutoMapper和创建Automapper.cs.

我添加到Automapper.cs如下

CreateMap<IRegionService, RegionService>();
CreateMap<IRegionRepository, RegionRepository>();

并得到这个错误。

尝试激活“.ApiController.TestController”时无法解析“.Services.IRegionService”类型的服务。

4

1 回答 1

1

AutoMapper是一种用于映射的工具,而不是用于DI的。

您必须像这样注册IRegionServiceIRegionRepository进入DI启动课程

public void ConfigureServices(IServiceCollection services)
{
    services.AddScoped<IRegionService, RegionService>();
    services.AddScoped<IRegionRepository, RegionRepository>();
}
于 2020-04-18T18:46:09.087 回答