美文网首页
13.AutoMapper 之映射前后(Before and A

13.AutoMapper 之映射前后(Before and A

作者: 做人生的CEO | 来源:发表于2019-01-08 23:00 被阅读13次

    映射前后(Before and After Map Action)

    你可能偶尔需要在映射发生前后执行自定义逻辑。这应该很少见,这种操作放在AutoMapper之外更加合理。不过你还是可以使用before/after 映射动作来达到目的:

    Mapper.Initialize(cfg => {
      cfg.CreateMap<Source, Dest>()
        .BeforeMap((src, dest) => src.Value = src.Value + 10)
        .AfterMap((src, dest) => dest.Name = "John");
    });
    

    或者在映射时创建before/after 映射回调:

    int i = 10;
    Mapper.Map<Source, Dest>(src, opt => {
        opt.BeforeMap((src, dest) => src.Value = src.Value + i);
        opt.AfterMap((src, dest) => dest.Name = HttpContext.Current.Identity.Name);
    });
    

    后一种配置在映射动作前后需要用到关联的上下文信息时很有用。

    相关文章

      网友评论

          本文标题:13.AutoMapper 之映射前后(Before and A

          本文链接:https://www.haomeiwen.com/subject/bzyirqtx.html