AutoMapper IgnoreAllTheRest 功能
AutoMapper IgnoreAllTheRest capabilities
我是 AutoMapper 的新手,想设置两个要映射的属性,但忽略其他 15 个属性。
我的研究和阅读 here 表明有 3 个选项。
使用 Ignore(),例如:(目前可以使用,但它很臃肿)
d => d.IgnoreMe, opt => opt.Ignore()
使用 [IgnoreMapAttribute] 注释。希望我可以,但对象不是我可以调整的。
扩展方法如所见here answer posted by Rami A(我必须调整它)
但是在我看来这些选项是解决方法,我只是没有正确使用 AutoMapper?
我要找的是这样的:
Mapper.CreateMap<Customer, DropPointModel>()
.ForMember(dest => dest.CustomerId,
opts => opts.MapFrom(src => src.Id))
.ForMember(dest => dest.VendorId,
opts => opts.MapFrom(src => src.VendorId))
.IgnoreAllOtherMappings();
AutoMapper 中是否存在这些方面的内容,我没有正确实施,或者我是否正确,只需要编写扩展方法。如果是后者,我会 post 回到这里为其他人服务。
你试过使用类似下面的东西吗
public static class MappingExpressionExtensions
{
public static IMappingExpression<TSource, TDest> IgnoreAllUnmapped<TSource, TDest>(this IMappingExpression<TSource, TDest> expression)
{
expression.ForAllMembers(opt => opt.Ignore());
return expression;
}
}
.ForMember(dest => dest.CustomerId,
opts => opts.MapFrom(src => src.Id))
.ForMember(dest => dest.VendorId,
opts => opts.MapFrom(src => src.VendorId))
.IgnoreAllUnmapped();
或这个
.ForMember(dest => dest.CustomerId,
opts => opts.MapFrom(src => src.Id))
.ForMember(dest => dest.VendorId,
opts => opts.MapFrom(src => src.VendorId))
.ForAllMembers(opt => opt.Ignore());
这是对另一个问题的重复问题,我不会在这里提供答案,因为原作者的工作需要荣誉。
在这里查看,如果有帮助一定要点赞。
AutoMapper: "Ignore the rest"?
我是 AutoMapper 的新手,想设置两个要映射的属性,但忽略其他 15 个属性。
我的研究和阅读 here 表明有 3 个选项。
使用 Ignore(),例如:(目前可以使用,但它很臃肿)
d => d.IgnoreMe, opt => opt.Ignore()
使用 [IgnoreMapAttribute] 注释。希望我可以,但对象不是我可以调整的。
扩展方法如所见here answer posted by Rami A(我必须调整它)
但是在我看来这些选项是解决方法,我只是没有正确使用 AutoMapper?
我要找的是这样的:
Mapper.CreateMap<Customer, DropPointModel>()
.ForMember(dest => dest.CustomerId,
opts => opts.MapFrom(src => src.Id))
.ForMember(dest => dest.VendorId,
opts => opts.MapFrom(src => src.VendorId))
.IgnoreAllOtherMappings();
AutoMapper 中是否存在这些方面的内容,我没有正确实施,或者我是否正确,只需要编写扩展方法。如果是后者,我会 post 回到这里为其他人服务。
你试过使用类似下面的东西吗
public static class MappingExpressionExtensions
{
public static IMappingExpression<TSource, TDest> IgnoreAllUnmapped<TSource, TDest>(this IMappingExpression<TSource, TDest> expression)
{
expression.ForAllMembers(opt => opt.Ignore());
return expression;
}
}
.ForMember(dest => dest.CustomerId,
opts => opts.MapFrom(src => src.Id))
.ForMember(dest => dest.VendorId,
opts => opts.MapFrom(src => src.VendorId))
.IgnoreAllUnmapped();
或这个
.ForMember(dest => dest.CustomerId,
opts => opts.MapFrom(src => src.Id))
.ForMember(dest => dest.VendorId,
opts => opts.MapFrom(src => src.VendorId))
.ForAllMembers(opt => opt.Ignore());
这是对另一个问题的重复问题,我不会在这里提供答案,因为原作者的工作需要荣誉。
在这里查看,如果有帮助一定要点赞。
AutoMapper: "Ignore the rest"?