只有在满足某个条件时才可以在automapper中使用自定义值解析器吗?
在我的情况下,如果目的地不为空,我只想用自定义值解析器更新值。
这是我的代码示例。基本上我需要在这个上添加条件。有可能吗?
Mapper.CreateMap<ResponseXml, MyModel>()
.ForMember(dest => dest.FirstName,
op => op.ResolveUsing<ResponseXmlValueResolver>()
.FromMember(x => x.data.FirstOrDefault(y => y.name == "name")))
答案 0 :(得分:2)
我认为Eris&#39;解决方案会有效;这只是语法错误。
Mapper.CreateMap<ResponseXml, MyModel>()
.ForMember(dest => dest.FirstName,
op => {
op.Condition(src => src != null);
op.ResolveUsing<ResponseXmlValueResolver>();
.FromMember(x => x.data.FirstOrDefault(y => y.name == "name"));
});
这是你想要的吗?
如果目标为null,则映射将被忽略
如果目标为null,则将应用映射(与客户解决)。
答案 1 :(得分:-1)
这会有用吗? (目前我面前没有窗框)
Mapper.CreateMap<ResponseXml, MyModel>()
.ForMember(dest => dest.FirstName,
op => op.Condition(src => src != null)
.ResolveUsing<ResponseXmlValueResolver>()
.FromMember(x => x.data.FirstOrDefault(y => y.name == "name")))