我有一个情况,需要将实体映射到视图模型并进行反向映射。我必须使用 ForMember()
明确指定映射,因为它们的属性名称不完全相同。这里是一个简短的示例,展示我的类是如何看起来的:
public class PartTwo {
public int Integer { get; set; }
}
public class PartTwoViewModel {
public int PartInteger { get; set; }
}
我希望以这种方式使用它们:
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);
但是它无法将属性PartInteger
匹配为Integer
。(Integer
是0
。)
有没有办法让这个工作?(当两个类的属性名称相同时,它可以工作。)我是否需要在方法ForMember()
中设置某种选项?
ReverseMap
方法,它很好用。这个问题已经过时了。 - Boiethios