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