コード例 #1
0
ファイル: AceMapper.cs プロジェクト: AatroxBot/Rich.Demo
        static void CreateMap(List <MapperDescritor> mapperDescritors)
        {
            Mapper.Initialize(cfg =>
            {
                foreach (MapperDescritor mapperDescritor in mapperDescritors)
                {
                    IMappingExpression exp            = cfg.CreateMap(mapperDescritor.SourceType, mapperDescritor.TargetType);
                    IMappingExpression reversedMapExp = null;
                    if (mapperDescritor.ReverseMap)
                    {
                        reversedMapExp = exp.ReverseMap();
                    }

                    foreach (MapperMemberRelationship memberRelationship in mapperDescritor.MemberRelationships)
                    {
                        exp.ForMember(memberRelationship.TargetMember.Name, mce => mce.MapFrom(memberRelationship.SourceMember.Name));

                        if (reversedMapExp != null)
                        {
                            reversedMapExp.ForMember(memberRelationship.SourceMember.Name, mce => mce.MapFrom(memberRelationship.TargetMember.Name));
                        }
                    }
                }
            });
        }
コード例 #2
0
        }                                         //=> mapped from Post.Category

        public override void CustomMappings(IMappingExpression <ComplexPostDto, Post> mapping)
        {
            mapping
            .ReverseMap()
            .ForMember(
                dest => dest.FullTitle,
                config => config.MapFrom(src => $"{src.Title} ({src.Category.Name})"));
        }
コード例 #3
0
 /// <summary>
 /// 反转 映射
 /// </summary>
 /// <param name="mapping"></param>
 /// <param name="reverseMap">true 代表反转 false 代表不反转</param>
 /// <returns></returns>
 internal static IMappingExpression ReverseMap(this IMappingExpression mapping, bool reverseMap)
 {
     if (reverseMap == false)
     {
         return(mapping);
     }
     return(mapping.ReverseMap());
 }
コード例 #4
0
 public static IMappingExpression <TDestination, TSource> ReserseMapWithIgnoreEntitiesEmpty <TSource, TDestination>(this IMappingExpression <TSource, TDestination> map)
 {
     return(map.ReverseMap().SetNullInEntitiesEmpty(TypeHelper.GetPropertiesOf <IEntity>(typeof(TSource))
                                                    .Select(c => ExpressionHelper.CreateExpressionFromPropertyInfo <TSource>(c))
                                                    .ToArray()));
 }