gpt4 book ai didi

所有成员和所有其他成员的自动映射器链接

转载 作者:行者123 更新时间:2023-12-05 06:37:32 25 4
gpt4 key购买 nike

我试图忽略少数成员并对当前成员设置一些条件:

        CreateMap<UpdateProfileViewModel, UserSettingModel>()
.ForMember(dest => dest.FirstName, opts => opts.MapFrom(src => src.FirstName))
.ForMember(dest => dest.LastName, opts => opts.MapFrom(src => src.LastName))
.ForMember(dest => dest.PhoneNumber, opts => opts.MapFrom(src => src.PhoneNumber))
.ForAllMembers(opts => opts.Condition((src, dest, srcMember) => srcMember != null))
.ForAllOtherMembers(opts => opts.Ignore());

我不能使用 ForAllMembers,因为我已经使用了 ForAllMembers。

如何忽略源中的空值,同时忽略映射的所有其他成员?

最佳答案

因此,由于 ForAllMembersForAllOtherMembers 返回 void 我建议使用 opts.Condition() 方法, 虽然这个解决方案不是那么优雅

CreateMap<UpdateProfileViewModel, UserSettingModel>()
.ForMember(dest => dest.FirstName, opts => { opts.Condition(p => p.FirstName != null); opts.MapFrom(p => p.FirstName); })
.ForMember(dest => dest.LastName, opts => { opts.Condition(p => p.LastName != null); opts.MapFrom(p => p.LastName); })
.ForMember(dest => dest.PhoneNumber, opts => { opts.Condition(p => p.PhoneNumber != null); opts.MapFrom(p => p.PhoneNumber); })
.ForAllOtherMembers(opts => opts.Ignore());

关于所有成员和所有其他成员的自动映射器链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47610572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com