这可能是一个简单的答案,但我才刚刚开始接触 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/

10-10 18:16