API Reference > imodeljs-backend > Models > Model 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 Entity Extended by GeometricModel RoleModel InformationModel Implements EntityProps ModelProps Methods Name Description buildConcurrencyControlRequest(opcode: DbOpcode): void Add a request for the locks that would be needed to carry out the specified operation. 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. update(): void Update this Model in the iModel. onDelete(props: ModelProps, iModel: IModelDb): void ProtectedStatic Called before a model is deleted. Beta onDeleted(_props: ModelProps, _iModel: IModelDb): void ProtectedStatic Called after a model is deleted. Beta onInsert(props: ModelProps, iModel: IModelDb): void ProtectedStatic Called before a new model is inserted. Beta onInserted(id: string, iModel: IModelDb): void ProtectedStatic Called after a new model is inserted. Beta onUpdate(props: ModelProps, iModel: IModelDb): void ProtectedStatic Called before a model is updated. Beta onUpdated(props: ModelProps, iModel: IModelDb): void ProtectedStatic Called after a model is updated. Beta populateRequest(req: ConcurrencyControl.Request, props: ModelProps, iModel: IModelDb, opcode: DbOpcode): void Static Disclose the codes and locks needed to perform the specified operation on this model Beta Inherited methods Name Inherited from Description forEachProperty(func: PropertyCallback, includeCustom: boolean = false): void Entity Call a function for each property of this Entity. Properties Name Type Description isPrivate boolean isTemplate boolean jsonProperties [key: string]: any modeledElement RelatedElement name string parentModel Id64String Inherited properties Name Type Inherited from Description classFullName Accessor ReadOnly string Entity Get the full BIS class name of this Entity in the form "schema:class". classFullName Accessor StaticReadOnly string Entity Get the full BIS class name of this Entity in the form "schema:class" className Accessor ReadOnly string Entity The name of the BIS class associated with this class. id Id64String Entity The Id of this Entity. iModel IModelDb Entity The IModelDb that contains this Entity schema Static undefined Entity The Schema that defines this class. schemaName Accessor ReadOnly string Entity The name of the BIS Schema that defines this class Defined in core/backend/src/Model.ts Line 24 Last Updated: 13 June, 2024