我有一个模型类和一个DTO类,它们共享一些共同的属性,但是具有不同的结构,并且我使用AutoMapper来配置映射,从Model-> DTO展平我没有问题,但是当涉及到展平时来自DTO->模型,似乎无法正确识别。
出于示例目的,请考虑以下类:
public class ExampleModel
{
public int Id { get; set; }
public ExampleIdentity Identity { get; set; }
}
public class ExampleIdentity
{
public string Name { get; set; }
}
关于DTO:
public class ExampleDTO
{
public int Id { get; set; }
public string Name { get; set; }
}
我知道我可以像这样进行拼合:
CreateMap<ExampleModel, ExampleDTO>(MemberList.Destination)
.ReverseMap()
.ForMember(e => e.Identity, opt => opt.MapFrom(dto => dto));
但是当涉及到扁平化时,我将不得不为DTO中的每个属性调用ForMember()
,这会很长,但是可以正常工作。我的问题是:有没有更优雅的方式来做这种事情?