C# 自动映射内联忽略
我正在使用自动映射器将源对象映射到目标对象,我已将映射器配置为:C# 自动映射内联忽略,c#,automapper,C#,Automapper,我正在使用自动映射器将源对象映射到目标对象,我已将映射器配置为: Mapper.Initialize(cfg => { cfg.CreateMap< SourceModel, DestModel>(); } CreateMap< SourceModel, DestModel>() .ForMember(x => x.CreatedDateTime, opt => opt.Ignore()); Mapper.Initiali
Mapper.Initialize(cfg => {
cfg.CreateMap< SourceModel, DestModel>();
}
CreateMap< SourceModel, DestModel>()
.ForMember(x => x.CreatedDateTime, opt => opt.Ignore());
Mapper.Initialize(cfg=>{
CreateMap();
}
此源和目标对象映射在许多地方都使用,现在在某些情况下,我必须忽略其中一个源模型字段,但不是所有地方都使用。我可以这样做:
Mapper.Initialize(cfg => {
cfg.CreateMap< SourceModel, DestModel>();
}
CreateMap< SourceModel, DestModel>()
.ForMember(x => x.CreatedDateTime, opt => opt.Ignore());
CreateMap()
.ForMember(x=>x.CreatedDateTime,opt=>opt.Ignore());
但这将忽略所有场景的CreatedDateTime属性,所以我只想内联执行
Mapper.Map< DestModel>(sourceObject); //Here I want to ignore one property.
Mapper.Map(sourceObject);//这里我想忽略一个属性。
请帮助我如何实现这一点。听起来您需要条件映射 答案如此显示如何使用它和文件可以找到 用法示例:
Mapper.CreateMap<SourceModel, DestModel>()
.ForMember(dest => dest.CreatedDateTime, opt => opt.Condition(source => source.Id == 0))
Mapper.CreateMap()
.FormMember(dest=>dest.CreatedDateTime,opt=>opt.Condition(source=>source.Id==0))
可能的重复除了条件映射之外,还有什么选项我们只能以内联方式进行吗?Mapper.Map