.net - AutoMapper 使用 StructureMap 实例化复杂类型

标签 .net structuremap automapper

假设我有一个复杂类型,例如:

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/

相关文章:

c# - 如何使用结构图解决子类和父类之间的相同依赖关系

Java 类型-细化映射

c# - 我如何在 linq 中使用分组、不同和一起计数?

StructureMap 清除缓存实例

c# - AutoFixture 无法创建匿名 MVC Controller

.net - 国际奥委会最佳实践: How to best manage dependency graph?

c# - 错误 "{"stateMachine": {"<>1__state":-2 ,"<>t__builder":{"when run project netcore

C# AutoMapper - 继承映射 - 简单示例

c# - Azure DevOps Docker 在管道中构建并在版本中推送 Docker

javascript - 如何以编程方式将图片上传到 Facebook?