Automapper - обновить существующий экземпляр - PullRequest
0 голосов
/ 12 мая 2018

У меня есть эти классы:

public class SourceA 
{
  public double SourceAProp { get; set; }
}

public class SourceB
{
  public double SourceBProp { get; set; }
}

public class Dest
{
  public double SourceAProp { get; set; }
  public double SourceBProp { get; set; }
} 

Я пытался:

var config = new MapperConfiguration(cfg => cfg.CreateMap<SourceA, Dest>());
var mapper = config.CreateMapper();            
var dest = mapper.Map<SourceA, Dest>(sourceA.Value);

config = new MapperConfiguration(cfg => cfg.CreateMap<SourceB, Dest>());
mapper = config.CreateMapper();            
dest = mapper.Map<SourceB, Dest>(sourceB.Value);

Но я думаю, Map создает экземпляр при каждом выполнении.

Как я могу использовать AutoMapper для создания одного экземпляра Dest с значениями экземпляров SourceA и SourceB (или обновления созданного экземпляра после первого выполнения)?

1 Ответ

0 голосов
/ 12 мая 2018

Метод Map<...>() имеет перегрузку, в которой вы можете указать целевой объект. Так что это в основном

Dest dest = new Dest();
mapper.Map<SourceA, Dest>(sourceA.Value, dest);
//...
mapper.Map<SourceB, Dest>(sourceB.Value, dest);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...