在我的Global.asax中:
AutoMapper.Mapper.CreateMap<ViewModel, DataType>()
.ForMember(dest => dest.User, opt => opt.Ignore());
在我的MVC行动中:
AutoMapper.Mapper.Map(viewmodel, data);
在调用Map()函数之前,data.User不为null。在调用Map()之后,data.User立即为null,但是,如果我理解正确,Ignore()应该完全忽略该属性并保持不变。关于可能导致这种情况的任何想法?
答案 0 :(得分:1)
我显然没有给任何人提供足够的信息来解决这个问题。
我的问题恰好发生,因为我的数据模型是EF4实体,而我的视图模型有映射到映射到上面提到的User对象的外键。一旦我们调用Map(),它就会将User实体重置为null。一旦我从ViewModel中删除了这个属性,一切都按预期开始工作。