change-tracking
Installation
SKILL.md
Change Tracking
Manages entity states and detects changes for SaveChanges().
Core Components
StateManager— owns tracked entries, identity/reference maps, fixup, cascades, notifications, and changed countsInternalEntryBaseand derived classes — own per-entry state, flags, values, snapshots, and ordered state transitionsChangeDetector— compares current values with baselines and reports changes through entry mutation APIsSnapshotFactoryFactorysubclasses — create passive original- and relationship-value baselinesIdentityMap— permits one active entry per key; shared identity pairs a replacement with the priorDeletedentryPropertyAccessorsFactory,ClrPropertyGetterFactoryandClrPropertySetterFactorycompile property accessors for efficient snapshotting and change detection- Ordinals in
indicesparameter specify element at each complex collection depth
- Ordinals in
Change Detection
- Snapshot and notification strategies both call
SetPropertyModified()to keep property flags and entity state consistent. SetEntityState()validates values, updates flags and complex entries, changes state, then runs manager bookkeeping hooks.