/// <summary> /// Ignore property mapping with certain criteria /// </summary> /// <param name="profile"></param> /// <param name="filter"></param> internal static void IgnoreUnmapped(this IProfileExpression profile, Func <TypeMap, bool> filter) => profile.ForAllMaps((map, expr) => { if (filter(map)) { IgnoreUnmappedProperties(map, expr); } });
/// <summary> /// Ignore all properties on model which is not mapped /// </summary> /// <typeparam name="TSource"></typeparam> /// <typeparam name="TDestination"></typeparam> /// <param name="expression"></param> /// <param name="profile"></param> /// <returns></returns> public static IMappingExpression <TSource, TDestination> IgnoreAllNonExisting <TSource, TDestination>(this IMappingExpression <TSource, TDestination> expression, IProfileExpression profile) { var sourceType = typeof(TSource); var destinationType = typeof(TDestination); TypeMap existingMaps = null; profile.ForAllMaps((map, expr) => { if (map.SourceType.Equals(sourceType) && map.DestinationType.Equals(destinationType)) { existingMaps = map; } }); if (existingMaps != null) { foreach (var property in existingMaps.GetUnmappedPropertyNames()) { expression.ForMember(property, opt => opt.Ignore()); } } return(expression); }
public static void IgnoreUnmapped(this IProfileExpression profile) { profile.ForAllMaps(IgnoreUnmappedProperties); }
/// <summary> /// Ignore unmapped property for all mapping defined in the profile /// </summary> /// <param name="profile"></param> internal static void IgnoreUnmapped(this IProfileExpression profile) => profile.ForAllMaps(IgnoreUnmappedProperties);