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
Target
isPolymorphic: false
roleLabel: is ancestor of
multiplicity: (0..*)
Constraint Classes
ClassHasBaseClasses
typeName: RelationshipClass
modifier: Sealed
Strength: Referencing
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: is subclass of
multiplicity: (0..*)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is base class of
multiplicity: (0..*)
Constraint Classes
ClassOwnsLocalProperties
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: locally defines
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
CompositeUnitRefersToUnit
typeName: RelationshipClass
modifier: Sealed
Strength: Referencing
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: refers to
multiplicity: (0..*)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is referred to by
multiplicity: (0..1)
Constraint Classes
FormatOwnsCompositeUnits
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
PhenomenonOwnsUnits
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: has
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is of
multiplicity: (0..*)
Constraint Classes
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
Target
isPolymorphic: false
roleLabel: is used by
multiplicity: (0..1)
Constraint Classes
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
Target
isPolymorphic: false
roleLabel: is type of
multiplicity: (0..1)
Constraint Classes
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
Target
isPolymorphic: false
roleLabel: is used by
multiplicity: (0..1)
Constraint Classes
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
Target
isPolymorphic: false
roleLabel: is ECRelationshipClass of
multiplicity: (0..1)
Constraint Classes
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
Target
isPolymorphic: false
roleLabel: is type of
multiplicity: (0..1)
Constraint Classes
RelationshipConstraintHasAbstractConstraintClass
typeName: RelationshipClass
modifier: Sealed
Strength: Referencing
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: defines
multiplicity: (0..*)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is abstract constraint class of
multiplicity: (0..1)
Constraint Classes
RelationshipConstraintHasClasses
typeName: RelationshipClass
modifier: Sealed
Strength: Referencing
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (0..*)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is constraint class of
multiplicity: (0..*)
Constraint Classes
RelationshipHasConstraints
typeName: RelationshipClass
modifier: Sealed
Strength: Referencing
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: defines
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined by
multiplicity: (2..2)
Constraint Classes
SchemaHasSchemaReferences
typeName: RelationshipClass
modifier: Sealed
Strength: Referencing
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: references
multiplicity: (0..*)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is referenced by
multiplicity: (0..*)
Constraint Classes
SchemaOwnsClasses
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
SchemaOwnsEnumerations
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
SchemaOwnsFormats
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
SchemaOwnsKindOfQuantities
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
SchemaOwnsPhenomena
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
SchemaOwnsPropertyCategories
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
SchemaOwnsUnitSystems
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
SchemaOwnsUnits
typeName: RelationshipClass
modifier: Sealed
Strength: Embedding
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: contains
multiplicity: (1..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
UnitHasInvertedUnit
typeName: RelationshipClass
modifier: Sealed
Strength: Referencing
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: is inverted by
multiplicity: (0..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: inverts
multiplicity: (0..1)
Constraint Classes
UnitSystemHasUnits
typeName: RelationshipClass
modifier: Sealed
Strength: Referencing
strengthDirection: Forward
Source
isPolymorphic: false
roleLabel: has
multiplicity: (0..1)
Constraint Classes
Target
isPolymorphic: false
roleLabel: is defined in
multiplicity: (0..*)
Constraint Classes
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: 11 June, 2025