public HierarchyDef DefineHierarchy(TypeDef typeDef, HierarchyRootAttribute attribute) { context.Validator.ValidateHierarchyRoot(context.ModelDef, typeDef); var hierarchyDef = new HierarchyDef(typeDef); attributeProcessor.Process(hierarchyDef, attribute); // KeyGeneratorAttribute is optional var kga = typeDef.UnderlyingType.GetAttribute <KeyGeneratorAttribute>(AttributeSearchOptions.InheritAll); if (kga != null) { attributeProcessor.Process(hierarchyDef, kga); } return(hierarchyDef); }
public void Process(HierarchyDef hierarchyDef, HierarchyRootAttribute attribute) { hierarchyDef.Schema = attribute.InheritanceSchema; hierarchyDef.IncludeTypeId = attribute.IncludeTypeId; hierarchyDef.IsClustered = attribute.Clustered; }