Automapper没有更新集合对象
创始人
2024-09-23 13:31:18
0

通常情况下,使用Automapper进行映射时,它会自动映射列表或数组并将它们分配给目标对象的相应列表属性。然而,当列表属性已经存在时Automapper不会更新它,而是保留目前的内容。如果你需要确保Automapper更新列表(添加、删除或更新元素),则需要使用以下方法:

1.使用BeforeMap方法: 在映射之前,你可以通过BeforeMap方法手动清空目标列表属性,然后再将源列表属性分配到目标列表属性上,这样就可以确保目标列表属性将被更新。 示例代码:

Mapper.Initialize(cfg => { cfg.CreateMap() .BeforeMap((src, dest) => dest.Tags.Clear()); });

personDto.Tags = person.Tags;

2.使用ResolveUsing方法: 另一种方法是使用ResolveUsing方法来将源列表属性分配到目标列表属性上。在这种情况下,你需要创建一个自定义解析器,该解析器可以手动将源列表属性映射到目标列表属性上,并返回目标对象。 示例代码:

Mapper.Initialize(cfg => { cfg.CreateMap() .ForMember(dest => dest.Tags, opt => opt.ResolveUsing()); });

public class CustomResolver : IValueResolver> { public List Resolve(Person source, PersonDto destination, List destMember, ResolutionContext context) { destination.Tags.Clear(); destination.Tags.AddRange(source.Tags); return destination.Tags; } }

personDto = Mapper.Map(person);

相关内容

热门资讯

透视存在!wpk模拟器多开,w... 透视存在!wpk模拟器多开,wepoker怎么增加运气(透视)解密教程(有挂讲解)-哔哩哔哩1、用户...
透视存在!sohoo竞技联盟辅... 透视存在!sohoo竞技联盟辅助器,德普之星有透视辅助吗(透视)推荐教程(有挂方略)-哔哩哔哩1、上...
透视规律!hhpoker开挂教... 透视规律!hhpoker开挂教程,wepoker辅助透视(透视)总结教程(有挂秘笈)-哔哩哔哩1、不...
透视新版!拱趴大菠萝机器人,n... 透视新版!拱趴大菠萝机器人,newpoker脚本(透视)开挂教程(有挂猫腻)-哔哩哔哩1、拱趴大菠萝...
透视神器!wpk刷入池率脚本,... 透视神器!wpk刷入池率脚本,德州透视是真的吗(透视)推荐教程(的确有挂)-哔哩哔哩1、完成德州透视...
据了解!aapoker发牌逻辑... 据了解!aapoker发牌逻辑,wepoker可以开透视吗(透视)推荐教程(真实有挂)-哔哩哔哩1、...
现场直击!wepoker有辅助... 现场直击!wepoker有辅助吗,wepoker有没有透视方法(透视)科普教程(有挂教学)-哔哩哔哩...
透视黑科技!hhpoker怎么... 透视黑科技!hhpoker怎么防辅助,wepoker科技辅助器(透视)解密教程(今日头条)-哔哩哔哩...
于此同时!德州机器人代打脚本,... 于此同时!德州机器人代打脚本,aapoker如何设置胜率(透视)关于教程(真实有挂)-哔哩哔哩在进入...
透视攻略!wepoker到底有... 透视攻略!wepoker到底有没有透视,poker红龙辅助(透视)必备教程(有挂教学)-哔哩哔哩;1...