Learning > E C Db Meta ECSchema ECDbMeta ECSchema alias: meta version: 4.0.1 Entity Classes ECClassDef typeName: EntityClass ECClass displayLabel: ECClass modifier: Sealed Properties Name Description Type Extended Type Schema navigation Name string DisplayLabel string Description string Type ECClassType Modifier ECClassModifier CustomAttributeContainerType ECClassType::CustomAttribute: Specifies on which containers the custom attribute ECClass can be applied to. ECCustomAttributeContainerType RelationshipStrength Applies to ECClassType::Relationship only. ECRelationshipStrength RelationshipStrengthDirection Applies to ECClassType::Relationship only. ECRelationshipDirection ECEnumerationDef typeName: EntityClass ECEnumeration displayLabel: ECEnumeration modifier: Sealed Properties Name Description Type Extended Type Schema navigation Name string DisplayLabel string Description string Type PrimitiveType IsStrict boolean EnumValues struct array ECPropertyDef typeName: EntityClass ECProperty displayLabel: ECProperty modifier: Sealed Properties Name Description Type Extended Type Class navigation Name string DisplayLabel string Description string IsReadonly boolean Priority int Ordinal Position of the ECProperty in its ECClass int Kind ECPropertyKind PrimitiveType ECPropertyKind::Primitive: data type. ECPropertyKind::PrimitiveArray: data type of array elements. PrimitiveType PrimitiveTypeMinLength Minimum length of strings or blobs. int PrimitiveTypeMaxLength Maximum length of strings or blobs. int PrimitiveTypeMinValue Minimum value of numeric primitives. double PrimitiveTypeMaxValue Maximum value of numeric primitives. double Enumeration ECPropertyKind::Primitive: Id of this property's ECEnumerationDef. navigation ExtendedTypeName ECPropertyKind::Primitive or ECPropertyKind::PrimitiveArray: Extended type name further describing PrimitiveType. string StructClass ECPropertyKind::Struct: ECClassId of property's struct type. ECPropertyKind::StructArray: ECClassId of array element struct type. navigation KindOfQuantity ECPropertyKind::Primitive or ECPropertyKind::PrimitiveArray: Id of this property's KindOfQuantityDef. navigation Category Id of this property's PropertyCategoryDef. navigation ArrayMinOccurs ECPropertyKind::PrimitiveArray or ECPropertyKind::StructArray int ArrayMaxOccurs ECPropertyKind::PrimitiveArray or ECPropertyKind::StructArray int NavigationRelationshipClass ECPropertyKind::Navigation: ECClassId of property's relationship class. navigation NavigationDirection ECPropertyKind::Navigation: Direction to follow the relationship defined in NonPrimitiveTypeClassId. ECRelationshipDirection ECRelationshipConstraintDef typeName: EntityClass modifier: Sealed Properties Name Description Type Extended Type RelationshipClass navigation RelationshipEnd ECRelationshipEnd MultiplicityLowerLimit int MultiplicityUpperLimit int IsPolymorphic boolean RoleLabel string AbstractConstraintClass ECClassId of base class for constraint classes of this constraint navigation ECSchemaDef typeName: EntityClass ECSchema displayLabel: ECSchema modifier: Sealed Properties Name Description Type Extended Type Name string DisplayLabel string Description string Alias string VersionMajor int VersionWrite int VersionMinor int OriginalECXmlVersionMajor int OriginalECXmlVersionMinor int FormatCompositeUnitDef typeName: EntityClass FormatCompositeUnit displayLabel: FormatCompositeUnit modifier: Sealed Properties Name Description Type Extended Type Format navigation Label string Unit navigation Ordinal Position of the Composite Unit in its Format int FormatDef typeName: EntityClass Format displayLabel: Format modifier: Sealed Properties Name Description Type Extended Type Schema navigation Name string DisplayLabel string Description string NumericSpec string JSON CompositeSpec CompositeSpec without units. Composite units are held by FormatCompositeUnitDef string JSON KindOfQuantityDef typeName: EntityClass KindOfQuantity displayLabel: KindOfQuantity modifier: Sealed Properties Name Description Type Extended Type Schema navigation Name string DisplayLabel string Description string PersistenceUnit string RelativeError double PresentationUnits string array PhenomenonDef typeName: EntityClass Phenomenon displayLabel: Phenomenon modifier: Sealed Properties Name Description Type Extended Type Schema navigation Name string DisplayLabel string Description string Definition string PropertyCategoryDef typeName: EntityClass PropertyCategory displayLabel: PropertyCategory modifier: Sealed Properties Name Description Type Extended Type Schema navigation Name string DisplayLabel string Description string Priority int UnitDef typeName: EntityClass Unit displayLabel: Unit modifier: Sealed Properties Name Description Type Extended Type Schema navigation Name string DisplayLabel string Description string UnitSystem navigation Phenomenon navigation Definition string Numerator double Denominator double Offset double IsConstant boolean InvertingUnit If this property is set, this UnitDef is an inverted unit. It inverts the unit specified by this property. navigation UnitSystemDef typeName: EntityClass UnitSystem displayLabel: UnitSystem modifier: Sealed Properties Name Description Type Extended Type Schema navigation Name string DisplayLabel string Description string Relationship Classes ClassHasAllBaseClasses typeName: RelationshipClass Relates a given ECClassId (Source) to all its base classes (recursively) (Target). For optimization reasons this ECRelationshipClass also holds a row for each ECClass that points to itself. Base class id order: class itself, then base classes in breadth first manner. modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: is a multiplicity: (0..*) Constraint Classes ECClassDef Target isPolymorphic: false roleLabel: is ancestor of multiplicity: (0..*) Constraint Classes ECClassDef ClassHasBaseClasses typeName: RelationshipClass modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: is subclass of multiplicity: (0..*) Constraint Classes ECClassDef Target isPolymorphic: false roleLabel: is base class of multiplicity: (0..*) Constraint Classes ECClassDef ClassOwnsLocalProperties typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: locally defines multiplicity: (1..1) Constraint Classes ECClassDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes ECPropertyDef CompositeUnitRefersToUnit typeName: RelationshipClass modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: refers to multiplicity: (0..*) Constraint Classes FormatCompositeUnitDef Target isPolymorphic: false roleLabel: is referred to by multiplicity: (0..1) Constraint Classes UnitDef FormatOwnsCompositeUnits typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (1..1) Constraint Classes FormatDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes FormatCompositeUnitDef PhenomenonOwnsUnits typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: has multiplicity: (1..1) Constraint Classes PhenomenonDef Target isPolymorphic: false roleLabel: is of multiplicity: (0..*) Constraint Classes UnitDef PropertyHasCategory typeName: RelationshipClass Relates the property to its PropertyCategory. modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: is in multiplicity: (0..*) Constraint Classes ECPropertyDef Target isPolymorphic: false roleLabel: is used by multiplicity: (0..1) Constraint Classes PropertyCategoryDef PropertyHasEnumeration typeName: RelationshipClass ECPropertyKind::Enumeration: relates the property to its ECEnumeration. modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: is of type multiplicity: (0..*) Constraint Classes ECPropertyDef Target isPolymorphic: false roleLabel: is type of multiplicity: (0..1) Constraint Classes ECEnumerationDef PropertyHasKindOfQuantity typeName: RelationshipClass ECPropertyKind::Primitive or ECPropertyKind::PrimitiveArray: relates the property to its KindOfQuantity. modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: has multiplicity: (0..*) Constraint Classes ECPropertyDef Target isPolymorphic: false roleLabel: is used by multiplicity: (0..1) Constraint Classes KindOfQuantityDef PropertyHasNavigationRelationshipClassId typeName: RelationshipClass ECPropertyKind::Navigation: relates the navigation property to its backing RelationshipECClass. modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: is backed by multiplicity: (0..*) Constraint Classes ECPropertyDef Target isPolymorphic: false roleLabel: is ECRelationshipClass of multiplicity: (0..1) Constraint Classes ECClassDef PropertyHasStructType typeName: RelationshipClass ECPropertyKind::Struct: relates the struct property to its struct ECClass. ECPropertyKind::StructArray: relates the struct array property to its array element type. modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: is of type multiplicity: (0..*) Constraint Classes ECPropertyDef Target isPolymorphic: false roleLabel: is type of multiplicity: (0..1) Constraint Classes ECClassDef RelationshipConstraintHasAbstractConstraintClass typeName: RelationshipClass modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: defines multiplicity: (0..*) Constraint Classes ECRelationshipConstraintDef Target isPolymorphic: false roleLabel: is abstract constraint class of multiplicity: (0..1) Constraint Classes ECClassDef RelationshipConstraintHasClasses typeName: RelationshipClass modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (0..*) Constraint Classes ECRelationshipConstraintDef Target isPolymorphic: false roleLabel: is constraint class of multiplicity: (0..*) Constraint Classes ECClassDef RelationshipHasConstraints typeName: RelationshipClass modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: defines multiplicity: (1..1) Constraint Classes ECClassDef Target isPolymorphic: false roleLabel: is defined by multiplicity: (2..2) Constraint Classes ECRelationshipConstraintDef SchemaHasSchemaReferences typeName: RelationshipClass modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: references multiplicity: (0..*) Constraint Classes ECSchemaDef Target isPolymorphic: false roleLabel: is referenced by multiplicity: (0..*) Constraint Classes ECSchemaDef SchemaOwnsClasses typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (1..1) Constraint Classes ECSchemaDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes ECClassDef SchemaOwnsEnumerations typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (1..1) Constraint Classes ECSchemaDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes ECEnumerationDef SchemaOwnsFormats typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (1..1) Constraint Classes ECSchemaDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes FormatDef SchemaOwnsKindOfQuantities typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (1..1) Constraint Classes ECSchemaDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes KindOfQuantityDef SchemaOwnsPhenomena typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (1..1) Constraint Classes ECSchemaDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes PhenomenonDef SchemaOwnsPropertyCategories typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (1..1) Constraint Classes ECSchemaDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes PropertyCategoryDef SchemaOwnsUnitSystems typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (1..1) Constraint Classes ECSchemaDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes UnitSystemDef SchemaOwnsUnits typeName: RelationshipClass modifier: Sealed Strength: Embedding strengthDirection: Forward Source isPolymorphic: false roleLabel: contains multiplicity: (1..1) Constraint Classes ECSchemaDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes UnitDef UnitHasInvertedUnit typeName: RelationshipClass modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: is inverted by multiplicity: (0..1) Constraint Classes UnitDef Target isPolymorphic: false roleLabel: inverts multiplicity: (0..1) Constraint Classes UnitDef UnitSystemHasUnits typeName: RelationshipClass modifier: Sealed Strength: Referencing strengthDirection: Forward Source isPolymorphic: false roleLabel: has multiplicity: (0..1) Constraint Classes UnitSystemDef Target isPolymorphic: false roleLabel: is defined in multiplicity: (0..*) Constraint Classes UnitDef Enumerations ECClassModifier typeName: Enumeration Backing Type: int Strict: true Label Value None 0 Abstract 1 Sealed 2 ECClassType typeName: Enumeration Backing Type: int Strict: true Label Value Entity 0 Relationship 1 Struct 2 CustomAttribute 3 ECCustomAttributeContainerType typeName: Enumeration Backing Type: int Strict: true Label Value Schema 1 EntityClass 2 CustomAttributeClass 4 StructClass 8 RelationshipClass 16 AnyClass 30 PrimitiveProperty 32 StructProperty 64 PrimitiveArrayProperty 128 StructArrayProperty 256 NavigationProperty 512 AnyProperty 992 SourceRelationshipConstraint 1024 TargetRelationshipConstraint 2048 AnyRelationshipConstraint 3072 Any 4095 ECPropertyKind typeName: Enumeration Backing Type: int Strict: true Label Value Primitive 0 Struct 1 PrimitiveArray 2 StructArray 3 Navigation 4 ECRelationshipDirection typeName: Enumeration Backing Type: int Strict: true Label Value Forward 1 Backward 2 ECRelationshipEnd typeName: Enumeration Backing Type: int Strict: true Label Value Source 0 Target 1 ECRelationshipStrength typeName: Enumeration Backing Type: int Strict: true Label Value Referencing 0 Holding 1 Embedding 2 PrimitiveType typeName: Enumeration Backing Type: int Strict: true Label Value Binary 257 Boolean 513 DateTime 769 Double 1025 Integer 1281 Long 1537 Point2d 1793 Point3d 2049 String 2305 IGeometry 2561 ECEnumeratorDef typeName: StructClass modifier: Sealed Properties Name Description Label Category Read Only Priority Name false 0 DisplayLabel false 0 Description false 0 IntValue false 0 StringValue false 0 Last Updated: 15 June, 2021