Mapping 自动映射复映射

Mapping 自动映射复映射,mapping,automapper,Mapping,Automapper,我如何映射以下内容: 公共抽象类PersonBase { 公共广播地址{get;set;} } 公共课堂演讲 { 公共字符串AddressHome{get;set;} public int PostalNumber{get;set;} } 公共类PersonEditVM:PersonBase { 公共int PersonId{get;set;} } 公共人格 { 公共int PersonId{get;set;} 公共字符串AddressHome{get;set;} public int Pos

我如何映射以下内容:

公共抽象类PersonBase
{
公共广播地址{get;set;}
}
公共课堂演讲
{
公共字符串AddressHome{get;set;}
public int PostalNumber{get;set;}
}
公共类PersonEditVM:PersonBase
{ 
公共int PersonId{get;set;}
}
公共人格
{
公共int PersonId{get;set;}
公共字符串AddressHome{get;set;}
public int PostalNumber{get;set;}
}
我想将
PersonEntity
映射到
PersonEditVM

编辑:在一杯咖啡后解决,但如果它是一种更干净的解决方案就好了?

Mapper.CreateMap()
.ForMember(d=>d.Address,s=>s.MapFrom(p=>newaddress{
AddressHome=p.AddressHome,
邮政编号=邮政编号
}));

这里有一种方法,可以将您的
地址
(顺便说一句,地址拼写正确)映射到另一个
CreateMap
调用:

Mapper.CreateMap()
.ForMember(dest=>dest.address,opt=>opt.MapFrom(src=>src));
Mapper.CreateMap()
.ForMember(dest=>dest.addresshome,opt=>opt.MapFrom(src=>src.addresshome))
.FormMember(dest=>dest.PostalNumber,opt=>opt.MapFrom(src=>src.PostalNumber));

已解决,但我对这个问题是否有更干净的解决方案感兴趣?@plurby:你说的“还是一样”是什么意思?一个更干净的解决方案会是什么样子?我不是说它不干净,只是我希望在可能的情况下有一个更干净的解决方案,我不需要指定每个属性。@plurby:我明白了,我认为没有自定义解析程序,你不可能一行就完成它,但希望有人会来证明我错了
:)
。您可以删除映射到
地址的
ForMember
调用