首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用自动映射程序返回NotFoundException的Map属性

使用自动映射程序返回NotFoundException的Map属性
EN

Stack Overflow用户
提问于 2020-08-08 02:35:36
回答 2查看 23关注 0票数 0

我有一个类,它有一些属性,如果不填充就会抛出异常。我想使用Automapper将这个类映射到一个DTO类。我如何才能做到这一点?

如果nos.Price抛出异常,我需要将其映射到0。

代码语言:javascript
运行
复制
        CreateMap<NewOrderSingle, Order>()
            .ForMember(o => o.Price, map => map.MapFrom(nos => nos.Price != null ? nos.Price.getValue() : 0))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-08 03:05:13

代码语言:javascript
运行
复制
            CreateMap<NewOrderSingle, Order>()               
            .ForMember((src => src.Price), opt => opt.Ignore()).
                BeforeMap((src, dest) =>
                {
                    try
                    {
                        dest.Price = src.Price.getValue();
                    }
                    catch
                    {
                        dest.Price = 0;
                    }
                })
票数 0
EN

Stack Overflow用户

发布于 2020-08-08 02:50:19

你会这样做:

代码语言:javascript
运行
复制
CreateMap<NewOrderSingle, Order>()
    .ForMember(o=>o.Price, options => options.MapFrom((src,dst)=>
    {
        try
        {
            return src.Price;
        }
        catch   
        {
            return 0;
        }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63307473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档