Expand description
SaveChanges interceptor — hooks into the DbContext lifecycle.
Provides an interception pipeline analogous to EFCore’s
ISaveChangesInterceptor: before/after save, and on failure.
Interceptors are registered via DbContextOptionsBuilder::add_interceptor().
§Example (user code)
ⓘ
use lref::interceptor::{ISaveChangesInterceptor, SaveChangesContext};
struct AuditInterceptor;
#[async_trait::async_trait]
impl ISaveChangesInterceptor for AuditInterceptor {
async fn on_saving(&self, ctx: &SaveChangesContext) -> LrefResult<()> {
println!("Saving {} entries", ctx.entries().len());
Ok(())
}
}Structs§
- Save
Changes Context - Read-only snapshot of the save operation, passed to interceptors.
- Save
Changes Result Context - Context passed to interceptors after a successful save.
Traits§
- ISave
Changes Interceptor - Interface for intercepting
save_changes()operations.