powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос к знатокам AutoMapper: как найти его конфигурацию?
4 сообщений из 4, страница 1 из 1
Вопрос к знатокам AutoMapper: как найти его конфигурацию?
    #40062588
Bold Stump
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попалось приложение, в котором используется эта либа.
При старте оно выполняет метод AutoMapperBootstrapper.Initialize() который вызыват для каждого ОРМ класса примерно такое:
Код: c#
1.
Mapper.CreateMap<OrmCollectionClass1, OrmModel1>();


дальше, как у Гоги - "и так 8 раз", а в конце, когда все мапы инициализированы,
Код: c#
1.
Mapper.AssertConfigurationIsValid();



OrmCollectionClass1 содержит поле типа IEnumerable<IEnumberable<KeyValuePair<string, object>>> где лежат все данные, высосанные из базы.

При загрузке из базы, в него пивотят (есть такое слово?) разворачивают на 90 градусов данные примерно таким алкогоритмом:
Код: plaintext
1.
2.
3.
4.
5.
цикл по записям
  цикл по полям
    добавить КВП (имя колонки, значение колонки в таблице) в список КВП
  фсё
  добавить список КВП в список
фсё

Модель же содержит поля соответствуюие колонкам в таблице. Мне нужно добавить и туда, и туда 1 новое поле.

Добавляю его в запрос - всё чики-пуки, всё работает, аппликация работает.
Добавляю его в модель, и тот самый ассёрт поднимает исключение что найдено неотмапленное поле.
Если после .CreateMap() добавить
Код: c#
1.
.ForMember(m=>MyNewField, opt=>opt.Ignore))


то исключение не поднимается, но и данные, разумеется, не мапятся. Делаю вывод, что маперу нужно знать, как мапить новое поле.

Так вот я никак не могу найти в их аппликации, где задаётся конфигурация для мапления данных в эти модели. Искал по именам классов моделей, но нигде не нашёл никаких следов, где бы автомапперу указывалось, откуда брать данные для полей. Что мне искать?

Ну и разумеется, иных уж нет, а те далече: изначальный разраб был уволен лет 10 назад, и спросить не у кого.
...
Рейтинг: 0 / 0
Вопрос к знатокам AutoMapper: как найти его конфигурацию?
    #40069137
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bold Stump,

лучшим решением будет выпилить AutoMapper.
The reasons behind why I don't use AutoMapper. - тут описаны разные проблемы от него. В том числе и сложность поиска, где что куда мапится.

Чтоб не писать код мапинга вручную, по ссылке там можно скачать MappingGenerator - удобная вещь.

В комментариях там ответ автора АвтоМаппера. Он юлит, но всё же вынужден признать: AVOID using AutoMapper ... :D

От себя скажу, что на стековерфловочке огромное количество вопросов наподобие: "Как написать маппинг сложных моделей?.." (И практически всегда без ответов).
Имхо, любая либа/утилита/софтина должна упрощать жизнь. А AutoMapper (и подобные ему мапперы) только усложняют её.
...
Рейтинг: 0 / 0
Вопрос к знатокам AutoMapper: как найти его конфигурацию?
    #40069237
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalvik
лучшим решением будет выпилить AutoMapper.


Не соглашусь.

petalvik
The reasons behind why I don't use AutoMapper. - тут описаны разные проблемы от него. В том числе и сложность поиска, где что куда мапится.


Это проблемы любого решения с инверсией зависимостей. Абсолютно. Это вы ещё не видели решений полностью построенных на MediatR — можно повеситься.

Но в случае с AM именно в этом и фишка. Вы не знаете как оно там мапится, главное что мапится :)

petalvik
Имхо, любая либа/утилита/софтина должна упрощать жизнь. А AutoMapper (и подобные ему мапперы) только усложняют её.


Там задача простая. Из модели А получить модель Б. И с этой задачей AM справляется. Не со всеми решениями соглашусь в либе, но в целом именно упрощает жизнь.
...
Рейтинг: 0 / 0
Вопрос к знатокам AutoMapper: как найти его конфигурацию?
    #40069238
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bold Stump
Делаю вывод, что маперу нужно знать, как мапить новое поле.


Ну да. Вроде как всё очевидно. Укажите как мапить новое поле. Если оно вам не нужно, то игнор.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос к знатокам AutoMapper: как найти его конфигурацию?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]