|
Вопрос к знатокам AutoMapper: как найти его конфигурацию?
|
|||
---|---|---|---|
#18+
Попалось приложение, в котором используется эта либа. При старте оно выполняет метод AutoMapperBootstrapper.Initialize() который вызыват для каждого ОРМ класса примерно такое: Код: c# 1.
дальше, как у Гоги - "и так 8 раз", а в конце, когда все мапы инициализированы, Код: c# 1.
OrmCollectionClass1 содержит поле типа IEnumerable<IEnumberable<KeyValuePair<string, object>>> где лежат все данные, высосанные из базы. При загрузке из базы, в него пивотят (есть такое слово?) разворачивают на 90 градусов данные примерно таким алкогоритмом: Код: plaintext 1. 2. 3. 4. 5.
Модель же содержит поля соответствуюие колонкам в таблице. Мне нужно добавить и туда, и туда 1 новое поле. Добавляю его в запрос - всё чики-пуки, всё работает, аппликация работает. Добавляю его в модель, и тот самый ассёрт поднимает исключение что найдено неотмапленное поле. Если после .CreateMap() добавить Код: c# 1.
то исключение не поднимается, но и данные, разумеется, не мапятся. Делаю вывод, что маперу нужно знать, как мапить новое поле. Так вот я никак не могу найти в их аппликации, где задаётся конфигурация для мапления данных в эти модели. Искал по именам классов моделей, но нигде не нашёл никаких следов, где бы автомапперу указывалось, откуда брать данные для полей. Что мне искать? Ну и разумеется, иных уж нет, а те далече: изначальный разраб был уволен лет 10 назад, и спросить не у кого. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2021, 21:12 |
|
Вопрос к знатокам AutoMapper: как найти его конфигурацию?
|
|||
---|---|---|---|
#18+
Bold Stump, лучшим решением будет выпилить AutoMapper. The reasons behind why I don't use AutoMapper. - тут описаны разные проблемы от него. В том числе и сложность поиска, где что куда мапится. Чтоб не писать код мапинга вручную, по ссылке там можно скачать MappingGenerator - удобная вещь. В комментариях там ответ автора АвтоМаппера. Он юлит, но всё же вынужден признать: AVOID using AutoMapper ... :D От себя скажу, что на стековерфловочке огромное количество вопросов наподобие: "Как написать маппинг сложных моделей?.." (И практически всегда без ответов). Имхо, любая либа/утилита/софтина должна упрощать жизнь. А AutoMapper (и подобные ему мапперы) только усложняют её. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2021, 09:18 |
|
Вопрос к знатокам AutoMapper: как найти его конфигурацию?
|
|||
---|---|---|---|
#18+
petalvik лучшим решением будет выпилить AutoMapper. Не соглашусь. petalvik The reasons behind why I don't use AutoMapper. - тут описаны разные проблемы от него. В том числе и сложность поиска, где что куда мапится. Это проблемы любого решения с инверсией зависимостей. Абсолютно. Это вы ещё не видели решений полностью построенных на MediatR — можно повеситься. Но в случае с AM именно в этом и фишка. Вы не знаете как оно там мапится, главное что мапится :) petalvik Имхо, любая либа/утилита/софтина должна упрощать жизнь. А AutoMapper (и подобные ему мапперы) только усложняют её. Там задача простая. Из модели А получить модель Б. И с этой задачей AM справляется. Не со всеми решениями соглашусь в либе, но в целом именно упрощает жизнь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2021, 00:57 |
|
|
start [/forum/topic.php?fid=20&fpage=4&tid=1398293]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 266ms |
total: | 386ms |
0 / 0 |