繁体   English   中英

Automapper unflatten with prefix

[英]Automapper unflatten with prefix

由于基于约定的自动化,我有一些从域对象映射的DTO,即地址字段被展平为DTO。

这适用于域 - > DTO转换,但另一种方法我必须手动“解除”地址。

我想知道是否有可能“映射”映射配置,所以我可以做类似的事情

Mapper.CreateMap<PersonDTO, Address>().WithPrefix("Address");
...
Mapper.CreateMap<PersonDTO, Person>()
.ForMember(d => d.Address, opt => opt.MapFrom(src => Mapper.Map<Address>(src) ))

否则我必须手动映射每个地址字段,这将成为更复杂的对象的问题。

我的域对象和DTO

class Person
{
    public string FirstName {get;set;}
    public string LastName {get;set;}
    public Address Address {get;set;}
}

class Address
{
    public string Street {get;set;}
    public string PostCode {get;set;}
}

和以下DTO:

class PersonDTO
{
    public string FirstName {get;set;}
    public string LastName {get;set;}
    public string AddressStreet {get;set;}
    public string AddressPostCode {get;set;}
}

编辑

我知道全局配置“已识别的前缀”。 我宁愿为特定的Map设置强制性前缀(不是“已识别的”之一)。

看看我关于fllowing问题的答案: AutoMapper无法识别特定于配置文件的前缀

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM