Model Class
A Model is a container for persisting a collection of related elements within an iModel.
See IModelDb.Models for how to query and manage the Models in an IModelDb.
See Creating models
Extends
Extended by
Methods
| Name | Description |  | 
| constructor(props: ModelProps, iModel: IModelDb): Model Protected |  |  | 
| collectReferenceIds(referenceIds: EntityReferenceSet): void Protected | Collect the Ids of this entity's references at this level of the class hierarchy. |  | 
| delete(): void | Delete this Model from the iModel. |  | 
| getJsonProperty(name: string): any |  |  | 
| getUserProperties(namespace: string): any | Get a set of JSON user properties by namespace |  | 
| insert(): string | Insert this Model in the iModel |  | 
| removeUserProperties(nameSpace: string): void | Remove a set of JSON user properties, specified by namespace, from this Element |  | 
| setJsonProperty(name: string, value: any): void |  |  | 
| setUserProperties(nameSpace: string, value: any): void | Change a set of user JSON properties of this Element by namespace. |  | 
| toJSON(): ModelProps | Obtain the JSON representation of this Entity. |  | 
| update(): void | Update this Model in the iModel. |  | 
| onDelete(arg: OnModelIdArg): void Protected Static | Called before a Model is deleted. |  | 
| onDeleted(_arg: OnModelIdArg): void Protected Static | Called after a Model was deleted. |  | 
| onDeletedElement(_arg: OnElementInModelIdArg): void Protected Static | Called after an Element in an instance of a Model of this class has been deleted. |  | 
| onDeleteElement(_arg: OnElementInModelIdArg): void Protected Static | Called when an Element in an instance of a Model of this class is about to be deleted. |  | 
| onInsert(arg: OnModelPropsArg): void Protected Static | Called before a new Model is inserted. |  | 
| onInserted(_arg: OnModelIdArg): void Protected Static | Called after a new Model is inserted. |  | 
| onInsertedElement(_arg: OnElementInModelIdArg): void Protected Static | Called after an Element has been inserted into an instance of a Model of this class. |  | 
| onInsertElement(_arg: OnElementInModelPropsArg): void Protected Static | Called before a prospective Element is to be inserted into an instance of a Model of this class. |  | 
| onUpdate(arg: OnModelPropsArg): void Protected Static | Called before a Model is updated. |  | 
| onUpdated(_arg: OnModelIdArg): void Protected Static | Called after a Model is updated. |  | 
| onUpdatedElement(_arg: OnElementInModelIdArg): void Protected Static | Called after an Element in an instance of a Model of this class has been updated. |  | 
| onUpdateElement(_arg: OnElementInModelPropsArg): void Protected Static | Called when an Element in an instance of a Model of this class is about to be updated. |  | 
Inherited methods
| Name | Inherited from | Description | 
| forEachProperty(func: PropertyCallback, includeCustom: booleantrue): void Inherited | Entity | Call a function for each property of this Entity. | 
| getReferenceIds(): EntityReferenceSet Inherited | Entity | Get the set of this entity's entity references, EntityReferenceSet. | 
| is(otherClass: ): boolean Static Inherited | Entity | return whether this Entity class is a subclass of another Entity class | 
Properties
| Name | Type | Description |  | 
| className Accessor Static ReadOnly | string | The name of the BIS class associated with this class. |  | 
| isPrivate | boolean |  |  | 
| isTemplate | boolean |  |  | 
| jsonProperties Readonly | [key: string]: any |  |  | 
| modeledElement Readonly | RelatedElement |  |  | 
| name Readonly | string |  |  | 
| parentModel Readonly | string |  |  | 
Inherited properties
| Name | Type | Inherited from | Description | 
| classFullName Accessor Inherited ReadOnly | string | Entity | Get the full BIS class name of this Entity in the form "schema:class". | 
| classFullName Accessor Static Inherited ReadOnly | string | Entity | Get the full BIS class name of this Entity in the form "schema:class" | 
| className Accessor Inherited ReadOnly | string | Entity | The name of the BIS class associated with this class. | 
| id Inherited | string | Entity | The Id of this Entity. | 
| iModel Inherited | IModelDb | Entity | The IModelDb that contains this Entity | 
| isInstanceOfEntity Readonly Inherited | "true" | Entity | An immutable property used to discriminate between Entity and EntityProps, used to inform the TypeScript compiler that these two types | 
| schema Static Inherited |  | Entity | The Schema that defines this class. | 
| schemaName Accessor Inherited ReadOnly | string | Entity | The name of the BIS Schema that defines this class | 
Defined in
Last Updated: 24 June, 2025