【问题标题】:Automapper map to custom two objectAutomapper 映射到自定义两个对象
【发布时间】:2019-01-21 21:50:16
【问题描述】:

我有一个通用列表,我想将此通用列表映射到另一种类型的通用列表(BatchModel 到 Batch)。但是在映射两个这样的对象之前我已经有了一些条件;

CrudTypes crudTypes(Enum)

List<BatchModel> batchModels;
             var models = batchModels.Select(p => new Batch
                {
                    BatchId = p.BatchId,
                    Id = p.Id,                   
                    CompleteTimeOnServer = crudTypes.Equals(CrudTypes.Insert) ? DateTime.Now : p.CompleteTimeOnServer,                    
                    SyncRetryCount = p.SyncRetryCount
                }).ToList();

如何在 automapper 中进行映射?

【问题讨论】:

    标签: c# automapper


    【解决方案1】:

    有一种方法可以做到这一点,在 AutoMapper 中使用 BeforeMap(请参阅 http://docs.automapper.org/en/stable/Before-and-after-map-actions.html)。 他们自己的例子:

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

    因此您可以像往常一样重写它以提取正确的集合(根据您的条件)映射。

    【讨论】:

      猜你喜欢
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 2015-10-20
      • 2020-05-20
      • 1970-01-01
      相关资源
      最近更新 更多