自动映射器和可为空的类型

时间:2019-03-21 18:20:26

标签: automapper

我需要将日期时间值转换为UTC时区。一些属性是用DateTime声明的? (可为空)。

如何检查是否为null,并且只有在不为null的情况下才能转换日期时间?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用链接here中所述的条件映射语法!

因此,在您的情况下,baz属性将为DateTime?

Mapper.Initialize(cfg => {
  cfg.CreateMap<Foo,Bar>()
    .ForMember(dest => dest.baz, opt => opt.Condition(src => (src.baz.HasValue)));
});

请注意,这将仅覆盖工作中的 if 字段,应进行映射。如果您需要做一些额外的工作才能使映射生效(例如,将一个名称映射到另一个名称),那将是一个附加映射。

相关问题