.net core 系统如何在Automapper上调用配置文件?

.net core 系统如何在Automapper上调用配置文件?,.net-core,automapper,.net Core,Automapper,我使用Automapper在DotNet core中强制转换DTO,没有任何问题。它很好用 但是我想知道系统是如何调用我的类的,这个类是从Profile类驱动的 public class ViewModelToEntityMappingProfile : Profile { public ViewModelToEntityMappingProfile() { CreateMap<RegistrationViewModel, AppUser>().Fo

我使用Automapper在DotNet core中强制转换DTO,没有任何问题。它很好用

但是我想知道系统是如何调用我的类的,这个类是从Profile类驱动的

 public class ViewModelToEntityMappingProfile : Profile
{
    public ViewModelToEntityMappingProfile()
    {
        CreateMap<RegistrationViewModel, AppUser>().ForMember(au => au.UserName, map => map.MapFrom(vm => vm.Email));
    }
}
公共类ViewModelToEntityMappingProfile:Profile
{
public ViewModelToEntityMappingProfile()
{
CreateMap().formMember(au=>au.UserName,map=>map.MapFrom(vm=>vm.Email));
}
}
以上课程是我选课所必需的。但我想知道,当我在没有任何直接调用的情况下调用API方法时,它是如何调用ViewModelToEntityMappingProfile类的?也没有显示在IDE中使用它的任何引用

我的API(仅供参考)

公共异步任务发布([FromBody]RegistrationViewModel)
{
如果(!ModelState.IsValid)
{
返回请求(ModelState);
}
尝试
{
var userIdentity=_mapper.Map(模型);
var result=await\u userManager.CreateAsync(userIdentity,model.Password);
如果(!result.successed)
返回新的BadRequestObjectResult(Errors.AddErrorsToModelState(result,ModelState));
wait_appDbContext.Customers.AddAsync(新客户{IdentityId=userIdentity.Id,Location=model.Location});
wait_appDbContext.saveChangesSync();
返回新的OkObjectResult(“创建的帐户”);
}
捕获(例外情况除外)
{
返回请求(ModelState);
}
}

是DI包的实现方式。当然你可以在GitHub上找到源代码。我知道DI,我知道Auto mapper是通过启动在dot net core中注入的,但我不了解的是所提到的类的具体情况。它从不在某个地方注入,而是在API方法调用之前调用。顺便说一句,谢谢你的链接。花点时间试着理解那篇博文,因为它解释了事情是如何工作的,包括你在问什么。
public async Task<IActionResult> Post([FromBody] RegistrationViewModel model)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        try
        {
            var userIdentity = _mapper.Map<AppUser>(model);

            var result = await _userManager.CreateAsync(userIdentity, model.Password);
            if (!result.Succeeded)
                return new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState));

            await _appDbContext.Customers.AddAsync(new Customer { IdentityId = userIdentity.Id, Location = model.Location });

            await _appDbContext.SaveChangesAsync();

            return new OkObjectResult("Account created");
        }
        catch (Exception ex)
        {

            return BadRequest(ModelState);
        }

    }