Как назначить новую переменную без сопоставления с помощью Automapper - PullRequest
0 голосов
/ 05 марта 2020

Я хочу установить PasswordSalt напрямую, без сопоставления его ни с одним из свойств, доступных в DTO.

public class SaveUserRequestDTOProfile: Profile
{
    public SaveUserRequestDTOProfile()
    {
        var salt = GenerateSalt();

        .ForMember(m => m.Username, map => map.MapFrom(s => s.Username))
        .ForMember(m => m.PasswordSalt, salt); // this doesn't work

    }
}

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 05 марта 2020

Вы можете просто указать любое значение в методе MapFrom. Не обязательно, чтобы значение на самом деле было получено из исходного объекта:

.ForMember(m => m.PasswordSalt, map => map.MapFrom(s => salt));
2 голосов
/ 05 марта 2020

Вы бы отобразили его так же, как имя пользователя, только вы указали бы созданное вами значение, например

public class SaveUserRequestDTOProfile: Profile
{
  public SaveUserRequestDTOProfile()
  {
    var salt = GenerateSalt();

    .ForMember(m => m.Username, map => map.MapFrom(s => s.Username))
    .ForMember(m => m.PasswordSalt, map => map.MapFrom(_ => salt));

  }
}
...