Карта Automapper для пользовательских двух объектов - PullRequest
0 голосов
/ 21 января 2019

У меня есть один общий список, и я хочу сопоставить этот общий список с другим типом общего списка (от 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();

Как я могу сделать это отображение в autopper?

1 Ответ

0 голосов
/ 21 января 2019

Есть способ сделать это, используя BeforeMap в AutoMapper (см. 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");
});

И чтобы вы могли переписать это, чтобы извлечь карту правильного набора (по вашим условиям) как обычно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...