有没有办法配置AutoMapper在使用它来映射运行时类型时跳过某些属性。 我创建了一个地图
Mapper.CreateMap(typeA, typeB)
然后,如果我需要跳过属性,我添加
.ForMember("propertyA", prop => prop.Ignore)
这很好。问题是如何在更多属性中实现这一点,并且在编码时不知道这些属性。 所以我需要跳过某些列表中的所有属性。 基本上我认为我需要这样的东西:
.ForAllMembers(opt => opt.Condition(prop => !skipThese.Contains(prop.MemberName)))
答案 0 :(得分:1)
所以,经过一些搜索,我把它作为一种扩展方法:
public static IMappingExpression<TSource, TDestination> ExcludingThese<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression, List<String> exclude)
{
foreach (String stringVar in exclude)
{
expression.ForMember(stringVar, excl => excl.Ignore());
}
return expression;
}