gpt4 book ai didi

c# - 仅当目标值等于 0 时才使用自动映射器更改目标值

转载 作者:行者123 更新时间:2023-11-30 15:17:07 25 4
gpt4 key购买 nike

我试图让 Automapper 仅在它等于特定值时更改 dsetination 值。所以我不关心源值是什么,我只想在映射之前查看目标值,如果它等于 0,那么我想进行映射,如果它 >0,那么我不想映射它。

到目前为止,我只能想出一种方法来做到这一点,但相反。它查看源,如果源值满足它将映射的条件。看起来像这样:

 CreateMap<SurveyResource, Survey>()

.ForMember(dest => dest.ClientId, opt =>
{
opt.Condition(src => src.ClientId == 0);
opt.MapFrom(src => src.ClientId);
});

这将看起来像 SurveyResource ClientId 值,如果它等于 0,那么它会将 0 粘贴到目标中(即,它将粘贴客户端 ID 的当前源值)。有人知道如何反过来做吗?我必须使用自定义值解析器吗?

最佳答案

伙计,你是如此接近!

CreateMap<SurveyResource, Survey>()
.ForMember(dest => dest.ClientId, opt =>
{
opt.Condition((src, dest) => dest.ClientId == 0);// suppose dest is not null.
opt.MapFrom(src => src.ClientId);
});

关于c# - 仅当目标值等于 0 时才使用自动映射器更改目标值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47303986/

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