c# - automapper 条件自定义值解析器

标签 c# automapper

是否可以仅在满足特定条件时在自动映射器中使用自定义值解析器?

在我的例子中,如果 destination 不为空,我只想使用自定义值解析器更新值。

这是我的代码示例。基本上我需要在上面添加条件。可能吗?

Mapper.CreateMap<ResponseXml, MyModel>()
    .ForMember(dest => dest.FirstName, 
                 op => op.ResolveUsing<ResponseXmlValueResolver>()
                .FromMember(x => x.data.FirstOrDefault(y => y.name == "name")))

最佳答案

我认为 Eris 的解决方案会奏效;这只是语法错误。

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"));
             });

这是你想要的吗?
如果目标为空,映射将被忽略。
如果目标为空,则将应用映射(已解析客户)。

关于c# - automapper 条件自定义值解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26991622/

相关文章:

c# - 来自多个源字段的 Automapper 条件映射

c# - Automapper 数据库查找?

automapper - 如果目标不为空,自动映射器可以忽略目标/仅更改空字段

c# - AutoMapper: 'AutoMapper.AutoMapperMappingException' 类型的异常发生在 AutoMapper.dll 中,但未在用户代码中处理

c# - 为什么我们不能在 ASMX Web 服务中返回 List<T>?

c# - 在 MVC 3 博客中显示嵌套评论

c# - P/Invoke 为目标 DLL 提供的内存是否较少?

.net - 如何在 AutoMapper 中扫描和自动配置配置文件?

c# - SocketException : No such host is known

c# - HtmlAgilityPack 无法使用 &lt;title/> 解析 html