private Triple<XmlElement, IExtendedPropertyMapper, String> GenerateInheritanceMappingData( PersistentClass pc, EntityXmlMappingData xmlMappingData, AuditTableData auditTableData, String inheritanceMappingType) { String extendsEntityName = VerEntCfg.GetAuditEntityName(pc.Superclass.EntityName); XmlElement class_mapping = MetadataTools.CreateSubclassEntity(xmlMappingData.MainXmlMapping, inheritanceMappingType, auditTableData, extendsEntityName, pc.DiscriminatorValue); // The id and revision type is already mapped in the parent // Getting the property mapper of the parent - when mapping properties, they need to be included String parentEntityName = pc.Superclass.EntityName; EntityConfiguration parentConfiguration = EntitiesConfigurations[parentEntityName]; if (parentConfiguration == null) { throw new MappingException("Entity '" + pc.EntityName + "' is audited, but its superclass: '" + parentEntityName + "' is not."); } IExtendedPropertyMapper parentPropertyMapper = parentConfiguration.PropertyMapper; IExtendedPropertyMapper propertyMapper = new SubclassPropertyMapper(new MultiPropertyMapper(), parentPropertyMapper); return Triple<XmlElement, IExtendedPropertyMapper, String>.Make<XmlElement, IExtendedPropertyMapper, String>(class_mapping, propertyMapper, parentEntityName); }
public EntityConfiguration(String versionsEntityName, IdMappingData idMappingData, IExtendedPropertyMapper propertyMapper, String parentEntityName) { this.VersionsEntityName = versionsEntityName; this.IdMappingData = idMappingData; this.PropertyMapper = propertyMapper; this.ParentEntityName = parentEntityName; this.relations = new Dictionary<String, RelationDescription>(); }
public EntityConfiguration(String versionsEntityName, IdMappingData idMappingData, IExtendedPropertyMapper propertyMapper, String parentEntityName) { this.VersionsEntityName = versionsEntityName; this.IdMappingData = idMappingData; this.PropertyMapper = propertyMapper; this.ParentEntityName = parentEntityName; this.relations = new Dictionary <String, RelationDescription>(); }
public EntityConfiguration(string versionsEntityName, string entityClassName, IdMappingData idMappingData, IExtendedPropertyMapper propertyMapper, string parentEntityName) { VersionsEntityName = versionsEntityName; EntityClassName = entityClassName; IdMappingData = idMappingData; PropertyMapper = propertyMapper; ParentEntityName = parentEntityName; relations = new Dictionary<string, RelationDescription>(); }
public EntityConfiguration(string versionsEntityName, string entityClassName, IdMappingData idMappingData, IExtendedPropertyMapper propertyMapper, string parentEntityName, Func <System.Type, object> factory) { VersionsEntityName = versionsEntityName; EntityClassName = entityClassName; IdMappingData = idMappingData; PropertyMapper = propertyMapper; ParentEntityName = parentEntityName; Factory = factory; relations = new Dictionary <string, RelationDescription>(); }
public SubclassPropertyMapper(IExtendedPropertyMapper main, IExtendedPropertyMapper parentMapper) { this.main = main; this.parentMapper = parentMapper; }