AutoMapper не может найти параметр ctor, когда есть два ctor - PullRequest
0 голосов
/ 27 сентября 2019

Мой класс имеет два конструктора:

public class Prospect
{
    public Prospect(int fAx) {}

    public Prospect([NotNull] IProspectRepository repo, [NotNull] IActiveUserService activeUserSrv,
        [CanBeNull] long? fax){}
}

Моя конфигурация сопоставления настроена следующим образом:

new MapperConfiguration(cfg =>
    {
        cfg.CreateMissingTypeMaps = true;
        cfg.CreateMap<ProspectMaintenanceDto, Prospect>()
            .ForCtorParam("fax", opt => opt.MapFrom(s => s.Fax))
            .ForCtorParam("repo",
                opt => opt.MapFrom(s => DependencyResolver.Current.GetService(typeof(IProspectRepository))))
            .ForCtorParam("activeUserSrv",
                opt => opt.MapFrom(s => DependencyResolver.Current.GetService(typeof(IActiveUserService))));
    }
);

, которая выдает следующую ошибку времени выполнения:

AutoMapper.AutoMapperConfigurationException: у клиента нет конструктора с параметром с именем «факс».MyNamespace.Prospect '

... Почему?Это ясно делает.Если я удалю первый конструктор, то ошибка исчезнет.Это ошибка?Есть ли обходной путь?

...