Rechercher

PythonReactSEOPDF
GitHub Skill

update-pipeline

Implementation details for EF Core SaveChanges and the update pipeline. Use when changing CommandBatchPreparer, UpdateSqlGenerator, ModificationCommand, or related classes.

dotnet☆ 14,599 Étoiles du dépôt3,362 Forks du dépôt

Installation

Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.

Voir la source ↗Guides

Instructions

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

Exemples

Consultez les exemples du dépôt source.

Voir la source ↗

Historique source

Date d’indexation
2026-03-11
Mise à jour de l’index
2026-03-11
Branch
main

Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.

GitHub ↗

chat Comments (0)

chat_bubble_outline

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