【发布时间】:2012-11-09 12:55:33
【问题描述】:
我想将实体映射到视图模型并返回。我必须使用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,效果很好。这个问题已经过时了。
标签: .net automapper bidirectional