Ejemplo n.º 1
0
        private void PrepareMemberMappers()
        {
            var members = this.TargetType.GetPropertyAndFieldMembers();

            foreach (var memberInfo in members)
            {
                if (!memberInfo.GetUnderlyingType().IsMappableType())
                {
                    continue;
                }

                var builder = new EntityValueMemberMapperBuilder(memberInfo);
                builder.MapFromColumnName(memberInfo.Name);

                this.mappers.Add(memberInfo, builder.Build());
            }
        }
        public IEntityMappingProfile <T> ForMember <TMember>(Expression <Func <T, TMember> > selector,
                                                             Action <IEntityValueMemberMapperBuilderConfig> config)
        {
            var memberInfo = selector.GetMemberExpression()
                             .Member;

            var entityMemberMapperBuilder = new EntityValueMemberMapperBuilder(memberInfo);

            config(entityMemberMapperBuilder);

            var entityValueMemberMapper = entityMemberMapperBuilder.Build();

            if (entityValueMemberMapper.IsKey)
            {
                this.keyMemberMappers.Add(entityValueMemberMapper);
            }
            this.memberMappers.Add(memberInfo, entityValueMemberMapper);

            return(this);
        }