【问题标题】:Automapper unflatten with prefixAutomapper 使用前缀展开
【发布时间】:2014-01-30 11:10:45
【问题描述】:

由于基于约定的自动映射,我有一些从域对象映射的 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;}
}

编辑

我知道全局配置“可识别的前缀”。我宁愿为特定地图设置强制性前缀(不是“公认的”)。

【问题讨论】:

    标签: c# automapper automapper-3


    【解决方案1】:

    看看我对以下问题的回答: AutoMapper isn't recognizing profile-specific prefixes

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 2012-07-10
      相关资源
      最近更新 更多