OptionalBeginBegin an independent provider-level transaction for IS-A chain orchestration. Returns a provider-specific transaction object (e.g., sql.Transaction for SQLServer). Separate from the provider's internal transaction management (TransactionGroup system). Optional — client-side providers (GraphQL) do not implement this.
OptionalCommitCommit an IS-A chain transaction.
The transaction object returned from BeginISATransaction()
OptionalFindDiscovers ALL IS-A child entities that have records with the given primary key. Used for overlapping subtype parents (AllowMultipleSubtypes = true) where multiple children can coexist. Same UNION ALL query as FindISAChildEntity, but returns all matches.
The parent entity's EntityInfo (to find its child entity types)
The primary key value to search for in child tables
OptionalcontextUser: UserInfoOptional context user for server-side operations
Array of child entity names found (empty if none)
OptionalFindDiscovers which IS-A child entity, if any, has a record with the given primary key. Used by BaseEntity.InitializeChildEntity() after loading a record to find the most-derived child type. Implementations should execute a single UNION ALL query across all child entity tables for efficiency.
The parent entity's EntityInfo (to find its child entity types)
The primary key value to search for in child tables
OptionalcontextUser: UserInfoOptional context user for server-side operations
The child entity name if found, or null if no child record exists
OptionalRollbackRollback an IS-A chain transaction.
The transaction object returned from BeginISATransaction()
Interface for entity data providers. Defines core CRUD operations and record change tracking. Implementations handle database-specific operations for entity persistence.