What problem does it solve?
This Skill provides implementation details for the EF Core SaveChanges update pipeline, describing how tracked changes are converted into database commands and the key components involved (UpdateAdapter, ModificationCommand, Batch processing, UpdateSqlGenerator, etc.)
Core Features & Use Cases
- Flow covers converting tracked changes into INSERT/UPDATE/DELETE commands during SaveChanges.
- Topological ordering of commands via a Multigraph to respect foreign key dependencies.
- Grouping commands into batches with respect to max batch size and executing using a BatchExecutor in a transactional context.
- Validation of store-generated values and handling of concurrency with DbUpdateConcurrencyException on mismatches.
- References to key source files like src/EFCore.Relational/Update/Internal/SharedTableEntryMap.cs for deeper understanding.
Quick Start
Review the update pipeline flow and its components to understand how EF Core translates changes into SQL.