У меня есть следующий код для регистрации Mapping (версия 4,2)Регистрация AutoMapper с Unity не удается
public class ModelMapperProfile : Profile
{
protected override void Configure()
{
CreateMap<Case, CaseModel>();
CreateMap<CaseDetail, CaseDetailModel>();
}
}
public static class AutoMapperService
{
public static MapperConfiguration Initialize()
{
MapperConfiguration config = new MapperConfiguration(cfg =>
{
cfg.AddProfile<ModelMapperProfile>();
});
return config;
}
}
И я зарегистрировать зависимость, используя единство следующим образом ...
public static void RegisterTypes(IUnityContainer container)
{
container.LoadConfiguration();
var mapper = AutoMapperService.Initialize()
.CreateMapper();
container.RegisterInstance<IMapper>(mapper);
}
Моих здесь конструктора службы ..
public TaxLiabilityCaseService(IMapper mapper,
IUnitOfWork unitofWork,
IRepository<Case> caseR,
IRepository<CaseDetail> caseDetailR)
{
_mapper = mapper;
_unitofWork = unitofWork;
_caseR = caseR;
_caseDetailR = caseDetailR;
}
И я получил следующее сообщение об ошибке ..
Текущий тип, AutoMapper.IMapper, является интерфейсом и не может быть сконструирован. Вам не хватает картографирования типов?
Answers found here did not work for me
Что я здесь отсутствую
Первый: он не работает так, как вам нужен фактический объект для регистрации, а null не разрешен. –
@ user2984500 ... В каком проекте вы работаете? Что такое «картограф»? Вы на правильном пути, но нужно правильно структурировать его. –
Это MVC 5 и пытается подключить AutoMapper для сопоставления между Entity to Model. Я использую «WebActivatorEx.PreApplicationStartMethod» для загрузки зависимостей (единство). –