update-pipeline | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / update-pipeline

update-pipeline

maintained by dotnet

star 14.6k account_tree 3.4k verified_user MIT License
bolt View GitHub

name: update-pipeline description: 'Implementation details for EF Core SaveChanges and the update pipeline. Use when changing CommandBatchPreparer, UpdateSqlGenerator, ModificationCommand, or related classes.' user-invokable: false

Update Pipeline

Converts tracked entity changes into database INSERT/UPDATE/DELETE commands during SaveChanges().

Flow

SaveChanges()DetectChanges()IDatabase.SaveChanges()UpdateAdapter creates IUpdateEntry list → CommandBatchPreparer.BatchCommands()ModificationCommand per entity (maps to table row), composed of ColumnModification (maps to column value) → Topological sort via Multigraph (FK dependency ordering) → Groups into ModificationCommandBatch (respects max batch size) → UpdateSqlGenerator generates SQL per batch → BatchExecutor executes all batches in a transaction → StateManager.AcceptAllChanges()

Other Key Files:

  • src/EFCore.Relational/Update/Internal/SharedTableEntryMap.cs — manages entries mapped to the same row

Concurrency

Concurrency tokens → WHERE conditions on UPDATE/DELETE. AffectedCountModificationCommandBatch checks affected rows. Throws DbUpdateConcurrencyException on mismatch.

Validation

  • SaveChanges() returns expected affected row count
  • Store-generated values propagate back to entities after INSERT/UPDATE
  • DbUpdateConcurrencyException thrown when expected for stale data

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 14.6k
GitHub Forks 3.4k
Created Mar 2026
Last Updated il y a 3 mois
tools tools automation tools

Related Skills

specs-gen
chevron_right
glm-coding-agent
chevron_right
creating-pr
chevron_right
writing-skills
chevron_right
reviewing-pr
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.