You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: UpdateValueAndRemoveDeletedReferenceProperties throws on every removal — the Assembler deletion path is dead #349
UpdateValueAndRemoveDeletedReferenceProperties throws InvalidOperationException: Collection was modified on every removal, so the deletion path of Assembler.Synchronize is dead — any Synchronize whose DTOs drop an element from an enumerable
reference property aborts mid-assembly.
Source: SysML2.NET.CodeGenerator/Templates/Uml/core-dal-poco-uml-extensions.hbs:78-90, replicated
into 231 call sites across 167 files under SysML2.NET.Dal/Core/AutoGenPocoExtension/. Affects OwnedRelationship, OwnedRelatedElement, and Dependency.Client / Supplier.
The emitted shape, e.g. SysML2.NET.Dal/Core/AutoGenPocoExtension/ForkNodeExtensions.cs:105-112:
Throws.Except is deferred over the live ContainerList; the loop body removes from the
collection it is streaming, invalidating the enumerator on the first removal.
Silently loses the deletions. Line 90 re-runs the deferred query after the removals, so identifiersOfObjectsToDelete returns empty and the removed POCOs leak in the cache. Fixing only
the throw leaves this in place.
Activity
Fix #349