Automapper: отображение коллекции и передача параметров - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь отобразить одну сущность в другую (которая имеет одно дополнительное поле).

Group {
    int Id;
}

GroupExtended {
   int Id;
   string Description;
}

Поэтому я делаю отображение в цикле:

foreach (var group in groups)
{
     var result = mapper.Map<Group, GroupExtended>(group,
                        opt => opt.AfterMap((src, dest) => dest.Description = someValue));
}

Возможно ли этосопоставить весь IEnumerable, и все же передать значение?Я попытался это:

var result = mapper.Map<List<GroupExtended>>(groups,
                        opt => opt.AfterMap((src, dest) => dest.Description = someValue));

Но есть ошибка на dest.Description: «объект» не содержит определение «Описание»

1 Ответ

0 голосов
/ 20 ноября 2018

Да, можно отобразить всю коллекцию и передать значение.Использование пользовательского распознавателя значений , вероятно, является предпочтительным вариантом, как указано в комментарии к исходному сообщению.Если вы все еще предпочитаете использовать AfterMap, вы можете сделать что-то вроде следующего, помня, что вашим источником и назначением в этом случае являются коллекции, а не отдельные элементы:

var result = mapper.Map<List<Group>, List<GroupExtended>>(groups,
    opt => opt.AfterMap((src, dest) =>
    {
        foreach (var i in dest)
        {
            i.Description = "someValue";
        }
    }));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...