忽略 属性 与 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 时,才会被映射。
第一次使用自动地图,我想做一些类似的事情
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 时,才会被映射。