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>(); }
//@SuppressWarnings({"unchecked"}) private Triple<XmlElement, IExtendedPropertyMapper, String> GenerateMappingData( PersistentClass pc, EntityXmlMappingData xmlMappingData, AuditTableData auditTableData, IdMappingData idMapper) { bool hasDiscriminator = pc.Discriminator != null; XmlElement class_mapping = MetadataTools.CreateEntity(xmlMappingData.MainXmlMapping, auditTableData, hasDiscriminator ? pc.DiscriminatorValue : null); IExtendedPropertyMapper propertyMapper = new MultiPropertyMapper(); // Checking if there is a discriminator column if (hasDiscriminator) { XmlElement discriminator_element = class_mapping.OwnerDocument.CreateElement("discriminator"); class_mapping.AppendChild(discriminator_element); MetadataTools.AddColumns(discriminator_element, (IEnumerator<ISelectable>)pc.Discriminator.ColumnIterator.GetEnumerator()); discriminator_element.SetAttribute("type", pc.Discriminator.Type.Name); } InheritanceType.Type parentInheritance = InheritanceType.GetForParent(pc); switch (parentInheritance) { case InheritanceType.Type.NONE: break; case InheritanceType.Type.SINGLE: AddSingleInheritancePersisterHack(class_mapping); break; case InheritanceType.Type.JOINED: AddJoinedInheritancePersisterHack(class_mapping); break; case InheritanceType.Type.TABLE_PER_CLASS: AddTablePerClassInheritancePersisterHack(class_mapping); break; } // Adding the id mapping XmlNode xmlMp = class_mapping.OwnerDocument.ImportNode(idMapper.XmlMapping,true); class_mapping.AppendChild(xmlMp); // Adding the "revision type" property AddRevisionType(class_mapping); return Triple<XmlElement, IExtendedPropertyMapper, string>.Make<XmlElement, IExtendedPropertyMapper, string>(class_mapping, propertyMapper, null); }
private MiddleIdData CreateMiddleIdData(IdMappingData idMappingData, String prefix, String entityName) { return new MiddleIdData(mainGenerator.VerEntCfg, idMappingData, prefix, entityName, mainGenerator.EntitiesConfigurations.ContainsKey(entityName)); }
/** * Adds mapping of the id of a related entity to the given xml mapping, prefixing the id with the given prefix. * @param xmlMapping Mapping, to which to add the xml. * @param prefix Prefix for the names of properties which will be prepended to properties that form the id. * @param columnNameIterator Iterator over the column names that will be used for properties that form the id. * @param relatedIdMapping Id mapping data of the related entity. */ private void AddRelatedToXmlMapping(XmlElement xmlMapping, String prefix, MetadataTools.ColumnNameEnumerator columnNameIterator, IdMappingData relatedIdMapping) { XmlElement properties = (XmlElement) relatedIdMapping.XmlRelationMapping.Clone(); MetadataTools.PrefixNamesInPropertyElement(properties, prefix, columnNameIterator, true, true); foreach (XmlElement idProperty in (System.Collections.Generic.IList<XmlElement>) properties.ChildNodes) { xmlMapping.AppendChild((XmlElement) idProperty.Clone()); } }
private Triple<XmlElement, IExtendedPropertyMapper, string> GenerateMappingData( PersistentClass pc, EntityXmlMappingData xmlMappingData, AuditTableData auditTableData, IdMappingData idMapper) { var hasDiscriminator = pc.Discriminator != null; var classMapping = MetadataTools.CreateEntity(xmlMappingData.MainXmlMapping, auditTableData, hasDiscriminator ? pc.DiscriminatorValue : null); var propertyMapper = new MultiPropertyMapper(); // Adding the id mapping var xmlMp = classMapping.OwnerDocument.ImportNode(idMapper.XmlMapping, true); classMapping.AppendChild(xmlMp); // Checking if there is a discriminator column if (hasDiscriminator) { var discriminatorElement = classMapping.OwnerDocument.CreateElement("discriminator"); classMapping.AppendChild(discriminatorElement); // Database column or SQL formula allowed to distinguish entity types MetadataTools.AddColumnsOrFormulas(discriminatorElement, pc.Discriminator.ColumnIterator); discriminatorElement.SetAttribute("type", pc.Discriminator.Type.Name); } // Adding the "revision type" property AddRevisionType(classMapping); return new Triple<XmlElement, IExtendedPropertyMapper, string>(classMapping, propertyMapper, null); }