2016-10-11 13 views
5

Wcześniej gdy użyłem Automapper v3.x ignorując właściwości unmapped można zrobić po prostu przez dodanie .IgnoreUnmappedProperties() rozszerzenie który wyglądał jak tenAutomapper V5 Ignoruj ​​właściwości unmapped

public static class AutoMapperExtensions 
{ 

public static IMappingExpression<TSource, TDestination> IgnoreUnmappedProperties<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression) 
{ 
    var typeMap = Mapper.FindTypeMapFor<TSource, TDestination>(); 
    if (typeMap != null) 
    { 
     foreach (var unmappedPropertyName in typeMap.GetUnmappedPropertyNames()) 
     { 
      expression.ForMember(unmappedPropertyName, opt => opt.Ignore()); 
     } 
    } 

     return expression; 
    } 
} 

Jak to rozszerzenie być zapisane do pracy z wersji 5 .x. Mogę oczywiście dodać następujące elementy do każdej nieruchomości.

.ForMember(dest => dest.LastUpdatedBy, opt => opt.Ignore()) 

czy nie zadzwonić

Mapper.AssertConfigurationIsValid(); 

Odpowiedz

4

Można to zrobić za pomocą nowego parametru metody CreateMap i określ walidacji, które chcesz.

CreateMap<TSource, TDestination>(MemberList.None)

The MemberList.None powinno załatwić sprawę. Można również przełączać się między sprawdzaniem źródła lub miejsca docelowego.

Automapper - Selecting members to validate

Powiązane problemy