Skip to content

Instantly share code, notes, and snippets.

@kradcliffe
Created February 28, 2012 12:28
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kradcliffe/1932255 to your computer and use it in GitHub Desktop.
Save kradcliffe/1932255 to your computer and use it in GitHub Desktop.
Automapper extension to IGNORE unmapped properties for a given type
public static class AutoMapperExtensions
{
public static IMappingExpression<TSource, TDestination>
IgnoreAllNonExisting<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression)
{
var sourceType = typeof(TSource);
var destinationType = typeof(TDestination);
var existingMaps = Mapper.GetAllTypeMaps().First(x => x.SourceType.Equals(sourceType) && x.DestinationType.Equals(destinationType));
foreach (var property in existingMaps.GetUnmappedPropertyNames())
{
expression.ForMember(property, opt => opt.Ignore());
}
return expression;
}
}
// USAGE:
Mapper.CreateMap<SourceType, DestinationType>()
.ForMember(prop => x.Property, opt => opt.MapFrom(src => src.OtherProperty))
.IgnoreAllNonExisting();
@xts-velkumars
Copy link

Above extension is not working with Automapper 5.0.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment