示例#1
0
        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();
        }