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);
        }
Ejemplo n.º 2
0
 public void Process(HierarchyDef hierarchyDef, HierarchyRootAttribute attribute)
 {
     hierarchyDef.Schema        = attribute.InheritanceSchema;
     hierarchyDef.IncludeTypeId = attribute.IncludeTypeId;
     hierarchyDef.IsClustered   = attribute.Clustered;
 }