Mat*_*cic 5 mapping automapper
如何映射以下内容:
public abstract class PersonBase
{
public Address Address { get; set; }
}
public class Address
{
public string AddressHome { get; set; }
public int PostalNumber { get; set; }
}
public class PersonEditVM : PersonBase
{
public int PersonId { get; set; }
}
public PersonEntity
{
public int PersonId { get; set; }
public string AddressHome { get; set; }
public int PostalNumber { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想映射PersonEntity
到PersonEditVM
.
编辑:解决了一杯咖啡,但如果它是一个更清洁的解决方案,它会很好吗?
Mapper.CreateMap<PersonEntity, PersonEditVM >()
.ForMember(d=>d.Address, s=>s.MapFrom(p=> new Address{
AddressHome = p.AddressHome,
PostalNumber = p.PostalNumber
}));
Run Code Online (Sandbox Code Playgroud)
这是一种方法,它将你的Adress
(通过正确的拼写Address
方式)映射到另一个CreateMap
调用:
Mapper.CreateMap<PersonEntity, PersonEditVM>()
.ForMember(dest => dest.Adress, opt => opt.MapFrom(src => src));
Mapper.CreateMap<PersonEntity, Adress>()
.ForMember(dest => dest.AdressHome, opt => opt.MapFrom(src => src.AdressHome))
.ForMember(dest => dest.PostalNumber, opt => opt.MapFrom(src => src.PostalNumber));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1118 次 |
最近记录: |