Automapper: mapeamento bidirecional com ReverseMap () e ForMember ()

Eu tenho o caso em que eu quero mapear uma entidade para um viewmodel e vice-versa. Eu tenho que especificar o mapeamento explicitamente com ForMember () porque suas propriedades não compartilham exatamente os mesmos nomes. Aqui está um pequeno exemplo de como minhas classes se parecem:

public class PartTwo {
    public int Integer { get; set; }
}

public class PartTwoViewModel {
    public int PartInteger { get; set; }
}

E eu quero usá-los desta maneira:

Mapper.CreateMap<PartTwo, PartTwoViewModel>()
    .ForMember(dst => dst.PartInteger, opt => opt.MapFrom(src => src.Integer))
    .ReverseMap();

var partTwoViewModel = new PartTwoViewModel() { PartInteger = 42 };
var partTwo = Mapper.Map<PartTwoViewModel, PartTwo>(partTwoViewModel);
Assert.AreEqual(partTwoViewModel.PartInteger, partTwo.Integer);

Mas isso não corresponde à propriedade PartInteger to Integer. (Integer é 0.)

Existe uma maneira de fazer isso funcionar? (Quando as propriedades de ambas as classes têm os mesmos nomes, funciona.) Eu tenho que definir algum tipo de opção no método ForMember ()?

questionAnswers(2)

yourAnswerToTheQuestion