首页 > 解决方案 > 如何在不使用 Automapper 映射的情况下分配新变量

问题描述

我想直接设置 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

    }
}

提前致谢!

标签: c#asp.net-mvcasp.net-coreautomapper

解决方案


您将以与用户名相同的方式映射它,只是您需要指定您创建的值,例如

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));

  }
}

推荐阅读