我需要将 PriceValue 类型的对象映射到十进制值,并且配置了以下映射:
public class PriceValue
{
public decimal Value { get; set; }
...
}
...
Mapper.CreateMap<PriceValue, decimal>()
.ConvertUsing(src => src.Value);
问题是当src
为null
时会抛出异常。
配置映射以便返回默认(十进制)
的最佳方法是什么?
最佳答案
在 C# 6 中,这非常简单:
Mapper.CreateMap<PriceValue, decimal>()
.ConvertUsing(src => src?.Value ?? default(decimal));
使用 ConvertUsing,您可以完全覆盖所有映射配置,因此没有其他选项可供您使用。
关于c# - AutoMapper:将空源对象映射到十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31812797/