假设我有一个复杂类型,例如:
interface IFoo
{
IBar {get;set;}
}
并且使用 AutoMapper 将其映射到某个 DTO,即 Mapper.CreateMap<IFoo, FooDto>()
我应该如何配置 AutoMapper,以便在从 FooDto 映射到 IFoo 时使用 StructureMap 来获取 IFoo 和 IBar 的实例?
最佳答案
尝试
Mapper.CreateMap<FooDto, IFoo>()
.ConstructUsing(fooDto => ObjectFactory.GetInstance<IFoo>())
.AfterMap((fooDto, iFoo) => iFoo.IBar = ObjectFactory.GetInstance<IBar>());
IBar 是 IFoo 构造函数中的依赖项吗?然后您可以跳过 AfterMap()
步骤。
关于.net - AutoMapper 使用 StructureMap 实例化复杂类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4725867/