【问题标题】:Automapper and nullable typesAutomapper 和可为空的类型
【发布时间】:2019-08-12 16:32:27
【问题描述】:

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

如何检查是否为空,只有在不为空时才转换日期时间?

谢谢

【问题讨论】:

  • 您不需要处理 null,只需一个 type converter 用于 DateTime。

标签: automapper


【解决方案1】:

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

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

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

请注意,这将只涵盖工作如果该字段应该被映射。如果您需要做一些额外的工作来使映射工作(例如,将一个名称映射到另一个),那将是一个额外的映射。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 2017-07-06
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    相关资源
    最近更新 更多