private void ProcessMember(PersistentMemberMapModel model) { if (string.IsNullOrEmpty(model.Key)) { model.Key = this.conventions .GetMemberKeyConvention(model.Getter) .GetKey(model.Getter); } }
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); }
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? }