以下是CreateMap
方法:
Mapper.CreateMap<Domain.Models.Organization, OrganizationInputModel>()
.ForMember(dest => dest.Address1, opts => opts.MapFrom(src => src.Address.Address1))
.ForMember(dest => dest.Address2, opts => opts.MapFrom(src => src.Address.Address2))
.ForMember(dest => dest.City, opts => opts.MapFrom(src => src.Address.City))
.ForMember(dest => dest.State, opts => opts.MapFrom(src => src.Address.State))
.ForMember(dest => dest.Zip, opts => opts.MapFrom(src => src.Address.Zip))
.ReverseMap();
此处Address
是一个复杂的对象。
我期待看到双向模型映射。但事实证明复杂的对象映射已被破坏:
var entity = AutoMapper.Mapper.Map<Domain.Models.Organization>(model);
我收到了一个错误:
{&#34; message&#34;:&#34;非可空成员的空值。会员:&#39;地址&#39;。&#34;}
有些SO帖子说反向映射仅适用于简单对象,在这种情况下我们必须创建两个Mapper.CreateMap
。是真的吗?
答案 0 :(得分:0)
是的,在这种情况下,您需要创建反向映射。原因是因为AutoMapper不知道如何实例化目标Address
属性。