Map 属性 使用 Automapper 返回 NotFoundException

Map Property returning NotFoundException using Automapper

我有一个 class,如果没有填充,它的属性会抛出异常。我想使用 Automapper 将此 class 映射到 DTO class。我怎样才能做到这一点?

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

        CreateMap<NewOrderSingle, Order>()
            .ForMember(o => o.Price, map => map.MapFrom(nos => nos.Price != null ? nos.Price.getValue() : 0))

你会这样做:

CreateMap<NewOrderSingle, Order>()
    .ForMember(o=>o.Price, options => options.MapFrom((src,dst)=>
    {
        try
        {
            return src.Price;
        }
        catch   
        {
            return 0;
        }
    });
            CreateMap<NewOrderSingle, Order>()               
            .ForMember((src => src.Price), opt => opt.Ignore()).
                BeforeMap((src, dest) =>
                {
                    try
                    {
                        dest.Price = src.Price.getValue();
                    }
                    catch
                    {
                        dest.Price = 0;
                    }
                })