как система вызывает профиль на Automapper? - PullRequest
0 голосов
/ 02 февраля 2020

Я использую Automapper для приведения моих DTO в ядро ​​Do tNet без каких-либо проблем. Это работает нормально.

Но мне интересно знать, как система вызывает мой класс, который управляется из класса Profile?

 public class ViewModelToEntityMappingProfile : Profile
{
    public ViewModelToEntityMappingProfile()
    {
        CreateMap<RegistrationViewModel, AppUser>().ForMember(au => au.UserName, map => map.MapFrom(vm => vm.Email));
    }
}

Приведенный выше класс необходим для приведения моих классов. Но мне интересно, как он вызывал класс ViewModelToEntityMappingProfile, когда я вызываю свои методы API без каких-либо прямых вызовов? там также нет ссылки, которая использовала его в IDE.

Мой 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);
        }

    }
...