Esempio n. 1
0
 private void ProcessMember(PersistentMemberMapModel model)
 {
     if (string.IsNullOrEmpty(model.Key))
     {
         model.Key = this.conventions
             .GetMemberKeyConvention(model.Getter)
             .GetKey(model.Getter);
     }
 }
Esempio n. 2
0
        protected override PersistentMemberMapModel VisitPersistentMember(PersistentMemberMapModel model)
        {
            var memberType = ReflectionUtil.GetMemberValueType(model.Getter);
            var collectionConvention = this.conventions.GetCollectionConvention(memberType);
            if (collectionConvention.IsCollection(memberType))
            {
                var newModel = new CollectionMemberMapModel()
                {
                    Key = model.Key,
                    Getter = model.Getter,
                    Setter = model.Setter,
                    PersistNull = model.PersistNull
                };

                return (CollectionMemberMapModel)this.Visit(newModel);
            }
            else if (this.rootClassTypes.Contains(memberType))
            {
                var newModel = new ManyToOneMapModel()
                {
                    Key = model.Key,
                    Getter = model.Getter,
                    Setter = model.Setter,
                    PersistNull = model.PersistNull
                };

                return (ManyToOneMapModel)this.Visit(newModel);
            }
            else
            {
                var newModel = new ConvertibleMemberMapModel()
                {
                    Key = model.Key,
                    Getter = model.Getter,
                    Setter = model.Setter,
                    PersistNull = model.PersistNull
                };

                return (ConvertibleMemberMapModel)this.Visit(newModel);
            }

            return base.VisitPersistentMember(model);
        }
Esempio n. 3
0
        private void ProcessClass(ClassMapModel model)
        {
            foreach (var member in this.conventions.GetMemberFinder(model.Type).FindMembers(model.Type))
            {
                var memberMapModel = new PersistentMemberMapModel()
                {
                    Getter = member,
                    Setter = member
                };

                model.PersistentMemberMaps.Add(memberMapModel);
            }

            //find parent map?
        }