IModelDb Namespace


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.


Name Description

Defined in

IModelDb Class

An iModel database file. The database file can either be a briefcase or a snapshot.

@see - Accessing iModels


Extended by


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.  
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  
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.  
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.  
query(ecsql: string, params?: QueryBinder, options?: QueryOptions): AsyncIterableIterator<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> 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 SettingDictionary in this iModel that will be loaded into settings every time this iModel is opened in future sessions.  
Identical to getMetaData, except it returns undefined instead of throwing an error if the metadata cannot be found nor loaded.  
tryPrepareStatement(sql: string): undefined | ECSqlStatement Prepare an ECSQL statement.  
updateEcefLocation(ecef: EcefLocation): void Update the EcefLocation of this iModel.  
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.  
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  


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  
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

Last Updated: 20 July, 2024