假设我有一个复杂的类型,例如:
interface IFoo
{
IBar {get;set;}
}
并使用AutoMapper将其映射到某些DTO,即Mapper.CreateMap<IFoo, FooDto>()
我应该如何配置AutoMapper,以便在从FooDto映射到IFoo时使用StructureMap来获取IFoo和IBar的实例?
答案 0 :(得分:2)
尝试
Mapper.CreateMap<FooDto, IFoo>()
.ConstructUsing(fooDto => ObjectFactory.GetInstance<IFoo>())
.AfterMap((fooDto, iFoo) => iFoo.IBar = ObjectFactory.GetInstance<IBar>());
IBar是IFoo构造函数中的依赖吗?然后,您可以跳过AfterMap()
步骤。