private void RemoveDuplicateMemberMapsFromSubClass(SuperClassMapModel model, SubClassMapModel subModel) { subModel.PersistentMemberMaps.RemoveAll(m => model.PersistentMemberMaps.Any(x => AreMembersEqual(m.Getter, x.Getter))); if(model.IdMap != null) subModel.PersistentMemberMaps.RemoveAll(m => AreMembersEqual(m.Getter, model.IdMap.Getter)); if(model.ExtendedPropertiesMap != null) subModel.PersistentMemberMaps.RemoveAll(m => AreMembersEqual(m.Getter, model.ExtendedPropertiesMap.Getter)); }
private void ProcessSuperClass(SuperClassMapModel model) { if (model.IdMap != null) model.PersistentMemberMaps.RemoveAll(m => AreMembersEqual(m.Getter, model.IdMap.Getter)); if (model.ExtendedPropertiesMap != null) model.PersistentMemberMaps.RemoveAll(m => AreMembersEqual(m.Getter, model.ExtendedPropertiesMap.Getter)); foreach (var subModel in model.SubClassMaps) this.RemoveDuplicateMemberMapsFromSubClass(model, subModel); }
private void ProcessSuperClass(SuperClassMapModel model) { this.ProcessClass(model); if (model.ExtendedPropertiesMap == null) { var convention = this.conventions.GetExtendedPropertiesConvention(model.Type); if (convention.HasExtendedProperties(model.Type)) model.ExtendedPropertiesMap = convention.GetExtendedPropertiesMapModel(model.Type); } if (model.IdMap == null) { var convention = this.conventions.GetIdConvention(model.Type); if (convention.HasId(model.Type)) model.IdMap = convention.GetIdMapModel(model.Type); } }