Provides access to members that control Workspace Editing.
| Description | ||
|---|---|---|
![]() |
AbortEditOperation | Aborts an edit operation. |
![]() |
DisableUndoRedo | Disables Undo and Redo of edit operations. |
![]() |
EnableUndoRedo | Enables Undo and Redo of edit operations. |
![]() |
HasEdits | True if there are any completed edit operations that need to be saved . |
![]() |
HasRedos | True if there are any completed undos that can be redone. |
![]() |
HasUndos | True if there are any completed edit operations that can be undone. |
![]() |
IsBeingEdited | True if the workspace is being edited. |
![]() |
RedoEditOperation | Causes a Redo to be performed on the last undo. |
![]() |
StartEditing | Starts editing the workspace. |
![]() |
StartEditOperation | Begins an edit operation. |
![]() |
StopEditing | Stops editing the workspace. |
![]() |
StopEditOperation | Ends an edit operation. |
![]() |
UndoEditOperation | Causes an Undo to be performed on the last edit operation. |
| CoClasses and Classes | Description |
|---|---|
| VersionedWorkspace | VersionedWorkspace Object. |
| Workspace | Workspace Object. |
The IWorkspaceEdit interface allows the application to start and stop edit sessions during which the objects in a geodatabase can be updated. An edit session corresponds to a long transaction. The only changes to data that an application sees within an edit session are changes that are made by the application. Changes made by other concurrently executing applications (if allowed) are not seen until the edit session is saved or discarded.
The geodatabase guarantees ‘unique instancing’ of row objects retrieved from the database within an edit session. Any data access call that retrieves a non-recycling object with a particular object ID will return the in memory instance of the object if the object has already been instantiated by the application. Such behavior is needed to ensure application correctness when updating complex object models—for example, models with relationship-based messaging or models with network features where updates to the geometry of a feature affect the geometry of topologically related features.
For this reason all object editing should be done within an edit session. The geodatabase data update APIs (such as IRow::Store, ITable::Update, and ITable::Insert ) will fail if you attempt to use them outside of an edit session on object and feature classes that are marked as requiring an edit session to ensure unique instancing semantics.
The rules for correct object editing on a geodatabase are summarized below :
IVersionEdit Interface | IWorkspaceEditEvents Interface