Пример #1
0
 /// <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);
     }
 });
Пример #2
0
        /// <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);
 }
Пример #4
0
 /// <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);