检查目的地的 AutoMapper PreCondition

AutoMapper PreCondition that checks destination

步骤:

  1. 接收 ViewModel 以更新或创建实体
  2. 尝试获取现有实体(如果存在)
  3. 致电IMapper.map(viewModel, entity)

因为我正在向地图提供目标值,是否可以检查前提条件的目标值?

类似

.ForMember(x => x.Id, opt => {
   opt.PreCondition((src, desintation) => destination.Id == null);
   opt.MapFrom(src => Guid.NewGuid());
}

这可能吗?也许有更好的方法?

找到了

.ForMember(dest => dest.EditedBy, opt => {
    opt.PreCondition((src, dest, context) => dest.Id != Guid.Empty);
    opt.MapFrom(src => Guid.NewGuid());
});