0
我有以下代码寄存器映射(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以在实体与模型之间进行映射。 我使用“WebActivatorEx.PreApplicationStartMethod”来引导依赖关系(统一)。 –