gpt4 book ai didi

c# - 自动映射器用前缀展开

转载 作者:行者123 更新时间:2023-11-30 18:30:26 28 4
gpt4 key购买 nike

由于基于约定的自动映射,我有一些从域对象映射的 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 设置强制性前缀(不是“公认的”之一)。

最佳答案

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

希望这对您有所帮助!

关于c# - 自动映射器用前缀展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21454802/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com