А вот маппер. Несколько лет назад я писал статью о том, как вы можете сделать свой маппер на коленке. Сейчас мир изменился, и я хотел бы рассказать про Mapster. Штука годная, быстрая, гораздо лучше, чем AutoMapper. Обратите внимание, что разница между кодом маппинга, который я написал руками, и кодом правильного вызова Mapster'a - минимальная.
Важно. Для тех, кто пользуется Mapster'ом, я бы, при маппинге в коллекции, посоветовал бы брать функцию маппинга, а не использовать встроенную функцию маппинга (видимо там производится поиск необходимого маппера). Понимаю, что можно маппить список в список, но случаи бывают разные, а значит выражение TypeAdapter<TIn, TOut>.Map нужно запомнить.
Код я залил вот сюда, так как его многовато.
Кто-то знает, почему Mapster работает так быстро? Ответ очевиден, но вдруг кто-то не знает. Ответ явно будет в комментах.
P.S.: Я сторонник "ручного" маппинга, если что. Так понятнее, так будет более высокий контроль и так мы экономим наносекунды.
Мой канал в TG: https://t.me/csharp_gepard