在自动映射器中为多个属性配置展平的优雅方法?

时间:2018-08-16 19:33:54

标签: c# automapper

我有一个模型类和一个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(),这会很长,但是可以正常工作。我的问题是:有没有更优雅的方式来做这种事情?

0 个答案:

没有答案