예제 #1
0
        /// <summary>
        /// Get a property based on a expression. Eg.: 'x => x.UserId' return string "UserId"
        /// </summary>
        private EntityBuilder <T> GetProperty <TK, K>(Expression <Func <TK, K> > property, Action <MemberMapper> action)
        {
            if (property == null)
            {
                throw new ArgumentNullException(nameof(property));
            }

            var prop = _entity.GetMember(property);

            if (prop == null)
            {
                throw new ArgumentNullException(property.GetPath());
            }

            action(prop);

            return(this);
        }
예제 #2
0
        /// <summary>
        /// Get a property based on a expression. Eg.: 'x => x.UserId' return string "UserId"
        /// </summary>
        private EntityBuilder <T> GetMember <TK, K>(Expression <Func <TK, K> > member, Action <MemberMapper> action)
        {
            if (member == null)
            {
                throw new ArgumentNullException(nameof(member));
            }

            var memb = _entity.GetMember(member);

            if (memb == null)
            {
                throw new ArgumentNullException($"Member '{member.GetPath()}' not found in type '{_entity.ForType.Name}' (use IncludeFields in BsonMapper)");
            }

            action(memb);

            return(this);
        }