忽略 属性 与 automap IF something

Ignore property with automap IF something

第一次使用自动地图,我想做一些类似的事情

public class Destination{
 pulic int Id {get;Set;}
 public string Name{get;set;}
 public string Age{get;set;}
}

if(something)
 var x = Mapping.Mapper.Map<Destination>(object) (with all properties)
else
 var y = Mapping.Mapper.Map<Destination>(object) (without Age property)

这是一个虚拟示例

您可以对永远不会映射的严格成员使用 Ignore() 功能,但这些成员将在配置验证中被跳过。

您可能会发现有用的是 Condition() 功能,因此您可以在条件为真时映射成员,如下例所示:

var configuration = new MapperConfiguration(cfg => {
   cfg.CreateMap<Foo,Bar>()
     .ForMember(dest => dest.baz, opt => opt.Condition(src => (src.baz >= 0)));
 });

在上面的映射示例中,只有当源对象中的 属性 baz 大于或等于 0 时,才会被映射。