У меня есть автоматическое сопоставление autopper, но у меня есть внешняя коллекция, которую я хочу использовать для обогащения исходящего класса.
Я, очевидно, могу купить список в классе профиля, но этот список взят из API-интерфейса, который я вызову, прежде чем запускать свой автомаппер во время выполнения. Ниже приведен пример грубого желания увидеть код страны в классе игрока на основе названия страны.
Отображение в моем классе реализации интерфейса профиля
CreateMap<StagePlayer, Player>()
.ForMember(x => x.Name, x => x.MapFrom(y => y.PlayerName))
.ForMember(x => x.SomethingA, x => x.MapFrom(y => y.Something))
.ForMember(x => x.CountryName, x => x.MapFrom(y => y.CountryName )) //obviously don't need this but just for the sake of the example
//.ForMember(x => x.CountryCode = countries.FirstOrDefault(y => y.CountryName == x.CountryName)?.CountryCode)
;
Фактическое использование.
var playersOut = playersIn.Select(s => _mapper.Map<Player>(s)).ToList();
playersOut.ForEach(x => x.CountryCode = countries.FirstOrDefault(y => y.CountryName == x.CountryName)?.CountryCode);
Я хочу установить ForEach для кода страны в моем профиле, но вынужден передать список стран в вызов сопоставления.
Я не могу найти никаких примеров этого, и я уверен, что упускаю что-то чрезвычайно очевидное, но не могу увидеть это в документации на автомаппер.