Объедините два объекта произвести использование трети AutoMapper

Я знаю, что это - AutoMapper и не AutoMerge(r), но...

Я начал использовать AutoMapper и имею потребность к Карте A-> B, и добавить некоторые свойства от C так, чтобы B стали своего рода плоским составным объектом + C.

Действительно ли это возможно в AutoMapper, я должен просто использовать AutoMapper, чтобы сделать, тяжелый подъем затем вручную отображается на дополнительных свойствах?

26
задан Ryan Gates 10 April 2013 в 18:20
поделиться

3 ответа

Насколько я помню, с помощью AutoMapper вы должны определить свои сопоставления как один вход в один выход (возможно, с тех пор это изменилось - не использовал его уже много месяцев).

В этом случае, возможно, ваше сопоставление должно иметь вид KeyValuePair (или какой-то объект, составляющий оба A и C) => B

Таким образом, вы можете получить одно определенное сопоставление входных параметров с вашим выводимым объектом

5
ответ дан 28 November 2019 в 07:25
поделиться

Разве это не сработает?

var mappedB = _mapper.Map<A,B>(aInstance);
_mapper.Map(instanceC,mappedB);
14
ответ дан 28 November 2019 в 07:25
поделиться

Вы можете сделать это с помощью ValueInjecter

 a.InjectFrom(b)
  .InjectFrom(c)
  .InjectFrom<SomeOtherMappingAlgorithmDefinedByYou>(dOrBOrWhateverObject);
13
ответ дан 28 November 2019 в 07:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: