public void PropertiesBuilder_Test() { ModelRoot modelRoot = new ModelRoot(); Func <Guid, IDomainType> getDomainType = modelRoot.GetDomainType; Interface IEntity = new Interface(modelRoot, "IEntity"); IEntity.AddProperty(new ScalarProperty("Id", getDomainType(SystemPrimitiveTypesConverter.TYPE_ID_INT32))); IEntity.AddProperty(new ScalarProperty("OId", getDomainType(SystemPrimitiveTypesConverter.TYPE_ID_BYTE))); Entity EntityBase = new Entity(modelRoot, "EntityBase"); EntityBase.SetInheritance(IEntity); ScalarProperty propertyId = new ScalarProperty("Id", getDomainType(SystemPrimitiveTypesConverter.TYPE_ID_INT32)); propertyId.IsInherited = true; EntityBase.AddProperty(propertyId); ScalarProperty propertyOId = new ScalarProperty("OId", getDomainType(SystemPrimitiveTypesConverter.TYPE_ID_BYTE)); propertyOId.IsInherited = true; EntityBase.AddProperty(propertyOId); EntityBase.AddProperty(new ScalarProperty("Age", getDomainType(SystemPrimitiveTypesConverter.TYPE_ID_STRING))); EntityBase.AddProperty(new ScalarProperty("ScalarProperty4", getDomainType(SystemPrimitiveTypesConverter.TYPE_ID_STRING))); Entity Car = new Entity(modelRoot, "Car"); Car.SetInheritance(EntityBase); Car.AddProperty(new ScalarProperty("SuperKey", getDomainType(SystemPrimitiveTypesConverter.TYPE_ID_INT32))); Car.AddProperty(new NavigationProperty("SimilarCars")); modelRoot.UpdateTopHierarchyTypes(Car); PropertiesBuilderContext.Initialize(modelRoot); var carPropertiesBuilder = PropertiesBuilderContext.Current.Get(Car); var inheritedProperties = carPropertiesBuilder.GetInheritedProperties(); }