c# - AutoMapper:将空源对象映射到十进制

标签 c# .net automapper

我需要将 PriceValue 类型的对象映射到十进制值,并且配置了以下映射:

public class PriceValue
{
    public decimal Value { get; set; }
    ...
}

...

Mapper.CreateMap<PriceValue, decimal>()
    .ConvertUsing(src => src.Value);

问题是当srcnull时会抛出异常。

配置映射以便返回默认(十进制) 的最佳方法是什么?

最佳答案

在 C# 6 中,这非常简单:

Mapper.CreateMap<PriceValue, decimal>()
    .ConvertUsing(src => src?.Value ?? default(decimal));

使用 ConvertUsing,您可以完全覆盖所有映射配置,因此没有其他选项可供您使用。

关于c# - AutoMapper:将空源对象映射到十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31812797/

相关文章:

c# - 为什么我的 XPathNavigator 总是返回 Root?

c# - 当我是 "drawing"线时,如何将点平均分配到 LineRenderer 的宽度曲线?

c# - 自定义 StronglyTyped BindingSource 项添加

使用 Avocado Rest api 从 yammer 提取数据的 C# 代码

.net - 装饰器不适用于 RegisterAll 中指定的实现类型

c# - 方法之间的歧义

c# - 复制引用而不是新的深拷贝

c# - Windows 8.1 统一项目中的 Automapper 启动异常

c# - PredicateBuilder 方法说明

automapper - 在自动映射器中为所有类型的成员配置约定