我有一个AfterMap方法,该方法需要使用上下文来更改某些元素的EntityState以及使用注入的映射器实例在现有数据之上映射相关数据,而不是添加。
我的问题是,我无法在配置文件中获取依赖项注入。如果我定义这样的配置文件:
public MyProfile(IMapper mapper, MyContext context)
尝试添加没有参数的构造函数时出错。我在启动时的配置是这样的:
var mapperConfig = new MapperConfiguration(cfg => {
cfg.AddMaps("MYAPP");
});
services.AddSingleton<IMapper>(x => mapperConfig.CreateMapper());
如何将依赖项注入这些配置文件以在AfterMap方法中使用。
个人资料示例供参考:
public class MyProfile : Profile {
IMapper _mapper;
MyContext _context;
public MyProfile(IMapper mapper, MyContext context) {
_mapper = mapper;
_context = context;
CreateMap<Thing1, Thing2>()
.ForMember(d => d.IncidentCauseSubTypes, o => o.Ignore())
.AfterMap((src, dest) => MergeRelatedLists(Things1, Thing2, _mapper, _context));
}
}