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 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(arg: OnModelIdArg): void ProtectedStatic Called before a Model is deleted. Beta onDeleteElement(_arg: OnElementInModelIdArg): void ProtectedStatic Called when an Element in an instance of a Model of this class is about to be deleted. Beta onDeleted(_arg: OnModelIdArg): void ProtectedStatic Called after a Model was deleted. Beta onDeletedElement(_arg: OnElementInModelIdArg): void ProtectedStatic Called after an Element in an instance of a Model of this class has been deleted. Beta onInsert(arg: OnModelPropsArg): void ProtectedStatic Called before a new Model is inserted. Beta onInsertElement(_arg: OnElementInModelPropsArg): void ProtectedStatic Called before a prospective Element is to be inserted into an instance of a Model of this class. Beta onInserted(arg: OnModelIdArg): void ProtectedStatic Called after a new Model is inserted. Beta onInsertedElement(_arg: OnElementInModelIdArg): void ProtectedStatic Called after an Element has been inserted into an instance of a Model of this class. Beta onUpdate(arg: OnModelPropsArg): void ProtectedStatic Called before a Model is updated. Beta onUpdateElement(_arg: OnElementInModelPropsArg): void ProtectedStatic Called when an Element in an instance of a Model of this class is about to be updated. Beta onUpdated(arg: OnModelIdArg): void ProtectedStatic Called after a Model is updated. Beta onUpdatedElement(_arg: OnElementInModelIdArg): void ProtectedStatic Called after an Element in an instance of a Model of this class has been 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 = true): void Entity Call a function for each property of this Entity. is(otherClass: undefined): boolean Static Entity return whether this Entity class is a subclass of another Entity class Properties Name Type Description isPrivate boolean isTemplate boolean jsonProperties Readonly { T } modeledElement Readonly RelatedElement name Readonly string parentModel Readonly string 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 string 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 69 Last Updated: 12 June, 2024