在使用Automapper时,需要对Nullable类型进行特殊处理。对于可以为null的类型,需要使用Nullable<>类型。对于float类型,需要使用Nullable
//定义源类型和目标类型
public class SourceType
{
public float? Value { get; set; }
}
public class DestinationType
{
public float? Value { get; set; }
}
//配置映射规则
var config = new MapperConfiguration(cfg => {
cfg.CreateMap()
.ForMember(dest => dest.Value, opt => opt.MapFrom(src => src.Value));
});
//执行映射
var source = new SourceType() { Value = null };
var mapper = config.CreateMapper();
var destination = mapper.Map(source);
Console.WriteLine(destination.Value == null); //输出True
在上面的示例中,使用了Nullable