AutoMapper, передавая дополнительные аргументы при отображении - PullRequest
1 голос
/ 11 ноября 2011

Я успешно использую AutoMapper для преобразования моих бизнес-объектов в Dtos во всех моих службах, и это прекрасно работает.

однако я также хотел бы использовать automapper, чтобы сделать обратное, т. Е. Преобразовать dto в бизнес-объект, но есть одна проблема, мне нужно запустить некоторую пользовательскую логику, которая зависит от контекста моего объекта EF, перед отображением

для этого я хотел бы как-то передать свой EF-контекст методу карты. Я знаю, что могу использовать шаблон типа локатора службы для разрешения зависимостей, но я ненавижу вводить магические зависимости и хотел бы, чтобы все зависело от конструктора.

Можно ли передать мой dataContext в AutoMapper при отображении?

1 Ответ

2 голосов
/ 11 ноября 2011

Возможный путь может быть что-то вроде:

using (Context db = new Context())
{
    Mapper.CreateMap<dtos, Ent>()
          .BeforeMap((a, b) => /* and here use db */ )
          ./* mapping rules */;

}

Объявляя отображение внутри использования вашего Countext, он должен сделать контекст видимым в BeforeMap (), где вы можете выполнять свою логику.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...