这可能是一个简单的答案,但我才刚刚开始接触 AutoMapper。
无论如何,我有一个这样的域对象:
public class User
{
public string Name { get; set; }
public FacebookUser FacebookUser { get; set; }
}
和这样的 ViewModel:
public class UserViewModel
{
public string Name { get; set; }
public long FacebookUniqueId { get; set; }
}
这是我的 AutoMapper 配置中的内容:
Mapper.CreateMap<User,UserViewModel>()
.ForMember(dest => dest.FacebookUniqueId, opt => opt.MapFrom(src => src.FacebookUser.FacebookUniqueId))
但是当
FacebookUser
对象为 null 时它会抛出异常,这是意料之中的。我如何告诉 AutoMapper:
有任何想法吗?
最佳答案
opt => opt.MapFrom(src => src.FacebookUser == null ? 0 : src.FacebookUser.FacebookUniqueId)
哎呀,如果我刚刚检查了第一个想法是否有效,我认为
MapFrom
方法只采用一个指向属性的表达式来解决它......关于c# - AutoMapper - 如何映射到嵌套类型中的值 - 可能为空?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5615655/