Вызов всех гуру AutoMapper!
Я хотел бы иметь возможность сопоставлять объект A с объектом B по-разному в зависимости от контекста во время выполнения. В частности, я хотел бы игнорировать некоторые свойства в одном случае отображения и иметь все свойства, отображаемые в другом случае.
То, что я испытываю, заключается в том, что Mapper.CreateMap может быть успешно вызван в разных случаях сопоставления, однако после вызова CreateMap карта для определенной пары типов устанавливается и впоследствии не изменяется с помощью последующих вызовов CreateMap, которые могут описывают отображение по-разному.
Я нашел сообщение в блоге, которое защищает Mapper.Reset(), чтобы обойти проблему, однако статическая природа класса Mapper означает, что это только вопрос времени, прежде чем произойдет столкновение и сбой.
Есть ли способ сделать это?
Мне кажется, что мне нужно вызвать Mapper.CreateMap один раз на приложение, а позже - вызвать Mapper.Map с подсказками о том, какие свойства должны быть включены/исключены.
Прямо сейчас, я думаю об изменении исходного кода, написав класс нестатического сопоставления, который содержит экземпляр конфигурации сопоставления. Плохая производительность, но потокобезопасная.
Каковы мои варианты. Что может быть сделано? Automapper кажется таким многообещающим.