IModelDb Namespace
Class
| Name | Description | 
|---|---|
| IModelDb.Elements | The collection of elements in an IModelDb. | 
| IModelDb.Models | The collection of models in an IModelDb. | 
| IModelDb.Views | The collection of views in an IModelDb. | 
Interface
| Name | Description | 
|---|---|
| IModelDb.GuidMapper | 
Defined in
- core/backend/src/IModelDb.ts Line 159
IModelDb Class
An iModel database file. The database file can either be a briefcase or a snapshot.
@see - Accessing iModels
Extends
Extended by
Methods
| Name | Description | |
|---|---|---|
| abandonChanges(): void | Abandon pending changes in this iModel. | |
| acquireSchemaLock(): Promise<void> | Acquire the exclusive schema lock on this iModel. | |
| addNewFont(name: string, type?: FontType): number | Add a new font name/type to the FontMap for this iModel and return its FontId. | |
| clearCaches(): void | Clear all in-memory caches held in this IModelDb. | |
| close(): void | Close this IModel, if it is currently open, and save changes if it was opened in ReadWrite mode. | |
| computeProjectExtents(options?: ComputeProjectExtentsOptions): ComputedProjectExtents | Compute an appropriate project extents for this iModel based on the ranges of all spatial elements. | |
| constructEntity<T extends Entity, P extends EntityProps>(props: P): T | Construct an entity (Element or Model) from an iModel. | |
| containsClass(classFullName: string): boolean | Query if this iModel contains the definition of the specified class. | |
| createQueryReader(ecsql: string, params?: QueryBinder, config?: QueryOptions): ECSqlReader | Allow to execute query and read results along with meta data. | |
| deleteFileProperty(prop: FilePropertyProps): void | delete a "file property" from this iModel | |
| deleteSettingDictionary(name: string): void | Delete a SettingDictionary, previously added with saveSettingDictionary, from this iModel. | |
| elementGeometryCacheOperation(requestProps: ElementGeometryCacheOperationRequestProps): BentleyStatus | Request operation using the backend geometry cache populated by first calling elementGeometryRequest. | |
| elementGeometryRequest(requestProps: ElementGeometryRequest): IModelStatus | Request geometry stream information from an element in binary format instead of json. | |
| exportGraphics(exportProps: ExportGraphicsOptions): DbResult | Export meshes suitable for graphics APIs from arbitrary geometry in elements in this IModelDb. | |
| exportPartGraphics(exportProps: ExportPartGraphicsOptions): DbResult | Exports meshes suitable for graphics APIs from a specified GeometryPart | |
| forEachMetaData(classFullName: string, wantSuper: boolean, func: PropertyCallback, includeCustom: booleantrue): void | Invoke a callback on each property of the specified class, optionally including superclass properties. | |
| generateElementGraphics(request: ElementGraphicsRequestProps): Promise<undefined | Uint8Array> | Generate graphics for an element or geometry stream. | |
| getBriefcaseId(): number | Get the briefcase Id of this iModel | |
| getGeoCoordinatesFromIModelCoordinates(props: GeoCoordinatesRequestProps): Promise<GeoCoordinatesResponseProps> | Get the GeoCoordinate (longitude, latitude, elevation) corresponding to each IModel Coordinate point in the input | |
| getGeometryContainment(props: GeometryContainmentRequestProps): Promise<GeometryContainmentResponseProps> | Get the clip containment status for the supplied elements. | |
| getIModelCoordinatesFromGeoCoordinates(props: IModelCoordinatesRequestProps): Promise<IModelCoordinatesResponseProps> | Get the IModel coordinate corresponding to each GeoCoordinate point in the input | |
| getJsClass<T extends >(classFullName: string): T | Get the JavaScript class that handles a given entity class. | |
| getMassProperties(props: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps> | Get the mass properties for the supplied elements. | |
| getMetaData(classFullName: string): EntityMetaData | Get metadata for a class. | |
| getSchemaProps(name: string): ECSchemaProps | Returns the full schema for the input name. | |
| importSchemas(schemaFileNames: string[], options?: SchemaImportOptions): Promise<void> | Import an ECSchema. | |
| isBriefcaseDb(): this is BriefcaseDb | Type guard for instanceof BriefcaseDb | |
| isSnapshotDb(): this is SnapshotDb | Type guard for instanceof SnapshotDb | |
| isStandaloneDb(): this is StandaloneDb | Type guard for instanceof StandaloneDb. | |
| performCheckpoint(): void | Save all changes and perform a checkpoint on this IModelDb. | |
| prepareStatement(sql: string, logErrors: booleantrue): ECSqlStatement | Prepare an ECSQL statement. | Deprecated | 
| query(ecsql: string, params?: QueryBinder, options?: QueryOptions): AsyncIterableIterator<any, any, any> | Execute a query and stream its results | Deprecated | 
| queryEntityIds(params: EntityQueryParams): Id64Set | Query for a set of entity ids, given an EntityQueryParams | |
| queryFilePropertyBlob(prop: FilePropertyProps): undefined | Uint8Array | Query a "file property" from this iModel, as a blob. | |
| queryFilePropertyString(prop: FilePropertyProps): undefined | string | Query a "file property" from this iModel, as a string. | |
| queryNextAvailableFileProperty(prop: FilePropertyProps): number | Query for the next available major id for a "file property" from this iModel. | |
| queryRowCount(ecsql: string, params?: QueryBinder): Promise<number> | Compute number of rows that would be returned by the ECSQL. | Deprecated | 
| querySchemaVersion(schemaName: string): undefined | string | Query for a schema of the specified name in this iModel. | |
| restartQuery(token: string, ecsql: string, params?: QueryBinder, options?: QueryOptions): AsyncIterableIterator<any, any, any> | Cancel any previous query with same token and run execute the current specified query. | Deprecated | 
| saveChanges(description?: string): void | Commit pending changes to this iModel. | |
| saveFileProperty(prop: FilePropertyProps, strValue: string, blobVal?: Uint8Array): void | Save a "file property" to this iModel | |
| saveSettingDictionary(name: string, dict: SettingsContainer): void | Save a SettingDictionaryin this iModel that will be loaded into settings every time this iModel is opened in future sessions. | |
| tryGetMetaData(classFullName: string): undefined | EntityMetaData | Identical to getMetaData, except it returns undefinedinstead of throwing an error if the metadata cannot be found nor loaded. | |
| tryPrepareStatement(sql: string): undefined | ECSqlStatement | Prepare an ECSQL statement. | Deprecated | 
| updateEcefLocation(ecef: EcefLocation): void | Update the EcefLocation of this iModel. | |
| updateElementGeometryCache(requestProps: ElementGeometryCacheRequestProps): Promise<ElementGeometryCacheResponseProps> | Request the creation of a backend geometry cache for the specified geometric element. | |
| updateIModelProps(): void | Update the IModelProps of this iModel in the database. | |
| updateProjectExtents(newExtents: Range3d): void | Update the project extents for this iModel. | |
| withPreparedSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T, logErrors: booleantrue): T | Use a prepared SQL statement, potentially from the statement cache. | |
| withPreparedStatement<T>(ecsql: string, callback: (stmt: ECSqlStatement) => T, logErrors: booleantrue): T | Use a prepared ECSQL statement, potentially from the statement cache. | |
| withSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T, logErrors: booleantrue): T | Prepared and execute a callback on a SQL statement. | |
| withStatement<T>(ecsql: string, callback: (stmt: ECSqlStatement) => T, logErrors: booleantrue): T | Prepared and execute a callback on an ECSQL statement. | |
| findByFilename(fileName: string): undefined | IModelDb Static | Find an opened instance of any subclass of IModelDb, by filename | |
| findByKey(key: string): IModelDb Static | Find an open IModelDb by its key. | |
| forEachMetaData(iModel: IModelDb, classFullName: string, wantSuper: boolean, func: PropertyCallback, includeCustom: booleantrue): void Static | Invoke a callback on each property of the specified class, optionally including superclass properties. | |
| tryFindByKey(key: string): undefined | IModelDb Static | Attempt to find an open IModelDb by key. | |
| validateSchemas(filePath: string, forReadWrite: boolean): SchemaState Static | Determines if the schemas in the Db must or can be upgraded by comparing them with those included in the | 
Properties
| Name | Type | Description | |
|---|---|---|---|
| _fontMap Protected | FontMap | undefined | ||
| channels Readonly | ChannelControl | ||
| codeSpecs Accessor ReadOnly | CodeSpecs | Get the CodeSpecs in this IModel. | |
| codeValueBehavior Accessor | "exact" | "trim-unicode-whitespace" | Controls how Codes are copied from this iModel into another iModel, to work around problems with iModels | |
| codeValueBehavior Setter | codeValueBehavior(newBehavior: "exact" | "trim-unicode-whitespace"): void | ||
| defaultLimit Static Readonly | "1000" | ||
| elements Readonly | IModelDb.Elements | ||
| fontMap Accessor ReadOnly | FontMap | ||
| holdsSchemaLock Accessor ReadOnly | boolean | determine whether the schema lock is currently held for this iModel. | |
| iModelId Accessor ReadOnly | string | The Guid that identifies this iModel. | |
| isBriefcase Accessor ReadOnly | boolean | Returns true if this is a BriefcaseDb | |
| isReadonly Accessor ReadOnly | boolean | Check if this iModel has been opened read-only or not. | |
| isSnapshot Accessor ReadOnly | boolean | Returns true if this is a SnapshotDb | |
| locks Accessor ReadOnly | LockControl | The LockControl that orchestrates concurrent editing of this iModel. | |
| maxLimit Static Readonly | "10000" | ||
| models Readonly | IModelDb.Models | ||
| onBeforeClose Readonly | BeEvent<() => void> | Event called when the iModel is about to be closed. | |
| onChangesetApplied Readonly | BeEvent<() => void> | Event called after a changeset is applied to this IModelDb. | |
| pathName Accessor ReadOnly | string | Get the full path fileName of this iModelDb | |
| relationships Accessor ReadOnly | Relationships | Get the linkTableRelationships for this IModel | |
| tiles Readonly | IModelDb.Tiles | ||
| views Readonly | IModelDb.Views | ||
| workspace Accessor ReadOnly | Workspace | Get the Workspace for this iModel. | 
Defined in
- core/backend/src/IModelDb.ts Line 159
Last Updated: 24 June, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.