AutoMapper отображает неправильные поля для UPPERCASE и underscope - PullRequest
0 голосов
/ 01 мая 2020

Сегодня, когда я попытался отобразить от TBL_TRAN_IN до InwardTransactionDto, поле Id в TBL_TRAN_IN было сопоставлено многим полям (которые заканчивались на _ID) в InwardTransactionDto. Вот мой код

public class TBL_TRAN_IN : Entity<string>
{
      [NotMapped]
      public override string Id
      {
           get { return TRX_TYPE + "-" + RELATION_NO + "-" + O_CI_CODE + "-" + R_CI_CODE + "-" + TRX_DATE; }
           set { /* nothing */ }
      }

      public virtual string CHECK_CODE { get; set; }

      public virtual string CREATE_FILE_RESULT_FLAG { get; set; }

      public virtual string FILE_NAME_RESULT { get; set; }
      //and some fields below
}
public class InwardTransactionDto : EntityDto<Guid?>
{
      public string MSG_KEY { get; set; }

      public string R_CI_ID { get; set; }

      public string O_INDIRECT_ID { get; set; }
      public string R_INDIRECT_ID { get; set; }
      //and some fields below
}

Моя конфигурация сопоставления

configuration.CreateMap<TBL_TRAN_IN, InwardTransactionDto>().ForMember(x => x.Id, opt => opt.Ignore()).ReverseMap();

После сопоставления значение Id сопоставляется со всеми полями, заканчивающимися _ID во втором класс (R_CI_ID, O_INDIRECT_ID, R_INDIRECT_ID). Может ли кто-нибудь помочь?

1 Ответ

0 голосов
/ 02 мая 2020

Спасибо за ваше решение, Люциан. Эта проблема исправлена ​​новым соглашением об именах:

public class NoNamingConvention : INamingConvention
{
    public static readonly INamingConvention Value = new NoNamingConvention();

    public NoNamingConvention()
    {
    }

    public Regex SplittingExpression { get; } = new Regex(".+");

    public string SeparatorCharacter => "";

    public string ReplaceValue(Match match)
    {
        return match.Value;
    }
}

И моим инициализатором:

cfg.DestinationMemberNamingConvention = new NoNamingConvention();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...