小编str*_*dso的帖子

自动映射,将多个属性映射到1个没有ValueResolver

我目前的代码正在运行:

map.ForMember(x => x.Address, m => m.ResolveUsing(l => {
    var engine = new MappingEngine((IConfigurationProvider)cfg);
    var adress = engine.Map<AddressDto>(l.ContactInfo);
    engine.Map(l.Address, adress);
    return adress;
}));
Run Code Online (Sandbox Code Playgroud)

但我想可能还有另一种方式,比如:

map.ForMember(x => x.Address, m => m.MapFrom(x => x.ContactInfo));
map.ForMember(x => x.Address, m => m.MapFrom(x => x.Address));
Run Code Online (Sandbox Code Playgroud)

但是最后的ForMember似乎覆盖了现有的地图.

我正在尝试将Address和ContactInfo属性组合到ListingDto.Address上的单个对象中.

void Main()
{
    var map = Mapper.CreateMap<Listing, ListingDto>();
    var cfg = Mapper.Configuration;
    map.ForMember(x => x.Address, m => m.ResolveUsing(l => {
        var engine = new MappingEngine((IConfigurationProvider)cfg);
        var adress = engine.Map<AddressDto>(l.ContactInfo);
        engine.Map(l.Address, adress);
        return adress;
    }));

    Mapper.CreateMap<Address, AddressDto>()
    .ForMember(x => …
Run Code Online (Sandbox Code Playgroud)

automapper

2
推荐指数
1
解决办法
2936
查看次数

标签 统计

automapper ×1