AutoMapper:将DTO映射回带有子对象的域对象

时间:2011-11-16 21:46:10

标签: c# .net mapping automapper

假设我有两个我要映射的对象:

// Domain objects
public class MyDomainObject
{
    public string SimpleText { get; set; }
    public int SimpleNumber { get; set; }
    public MySubObject ComplexValue { get; set; }
}

public class MySubObject
{
    public int Id { get; set; }
    public string Name { get; set; }
}

// DTOs
public class MyDto
{
    public string SimpleText { get; set; }
    public int SimpleNumber { get; set; }
    public int ComplexValueId { get; set; }
    public string ComplexValueName { get; set; }
}

// Mapping config
Mapper.CreateMap<MyDomainObject, MyDto>();

没有额外配置,这样可以正常工作,因为AutoMapper会查看 camelcasing 并向下钻取。

现在我想将DTO映射回域对象
Mapper.Map<MyDto, MyDomainObject>(dto, domainObj);

实现它的最佳/最简单的映射配置是什么?

1 个答案:

答案 0 :(得分:4)

在另一篇文章中找到解决方案: Using AutoMapper to unflatten a DTO

我喜欢最后的答案,除非能提出更好的方法。