忽略AutoMapper中的属性?

时间:2014-11-12 23:11:35

标签: c# .net automapper

我正在使用Automapper将一个对象属性复制到其他对象,稍后将使用EF在数据库中更新。

问题是如何告诉Automapper复制每个属性但忽略特定属性(在这种情况下它将是Id)。我是AutoMapper的新手,刚刚完成了这段代码。我在项目中没有其他配置或使用AutoMap。

Mapper.Map(lead, existingLead);

我已在此处下载了AutoMapper表单https://github.com/AutoMapper/AutoMapper

2 个答案:

答案 0 :(得分:11)

Mapper.CreateMap<Type1, Type2>()上,您可以使用

.ForSourceMember(x => x.Id, opt => opt.Ignore())

.ForMember(x => x.Id, opt => opt.Ignore())

答案 1 :(得分:1)

我使用这种扩展方法:

public static IMappingExpression<TSource, TDestination> IgnoreMember<TSource, TDestination>(
    this IMappingExpression<TSource, TDestination> map, Expression<Func<TDestination, object>> selector)
{
    map.ForMember(selector, config => config.Ignore());
    return map;
}

我就像这样使用它

Mapper.CreateMap<MyType1, MyType2>().IgnoreMember(m => m.PropertyName);

希望有所帮助。