Автоматический преобразователь (v5.1) сконструирован путем замены?

#automapper #automapper-5

#automapper #automapper-5

Вопрос:

Я только что обновил свой Automapper с 4.1 до 5.1 и обнаружил, что ConstructedBy больше не является допустимой функцией. Я прочитал файлы справки, и он по-прежнему ссылается на ConstructedBy как на действительный.

Вот как выглядит код:

 cfg.CreateMap<XElement, Article>()
        .ForMember(
            dest => dest.Publication,
            opt => opt.ResolveUsing<XAttributeResolver<string>>()
                      .ConstructedBy(() => new XAttributeResolver<string>("publication_name", "publication", "publications")));
  

Ответ №1:

Просто создайте распознаватель напрямую. Я удалил избыточную конфигурацию в пользу перегрузки:

 cfg.CreateMap<XElement, Article>()
    .ForMember(
        dest => dest.Publication,
        opt => opt.ResolveUsing(new XAttributeResolver<string>("publication_name", "publication", "publications")));