Skip to content

Commit 17ad6b9

Browse files
author
Anthony Sneed
committed
Added following test in ChangeTrackingCollectionTests:
Adding_And_Removing_The_Same_Territory_Should_Not_Keep_Added_Territory_In_Territory_Collection Updated RemoveItem in ChangeTrackingCollection so that removed m-m items with TrackingState.Added are not cached in the _deleted collection. Test now passes.
1 parent f8613aa commit 17ad6b9

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

Source/TrackableEntities.Client/ChangeTrackingCollection.cs

+2
Original file line numberDiff line numberDiff line change
@@ -235,13 +235,15 @@ protected override void RemoveItem(int index)
235235
item.SetTracking(false, visitationHelper.Clone(), true);
236236

237237
// Mark item and trackable collection properties
238+
bool manyToManyAdded = Parent != null && item.TrackingState == TrackingState.Added;
238239
item.SetState(TrackingState.Deleted, visitationHelper.Clone());
239240

240241
// Fire EntityChanged event
241242
if (EntityChanged != null) EntityChanged(this, EventArgs.Empty);
242243

243244
// Cache deleted item if not added or already cached
244245
if (item.TrackingState != TrackingState.Added
246+
&& !manyToManyAdded
245247
&& !_deletedEntities.Contains(item))
246248
_deletedEntities.Add(item);
247249
}

0 commit comments

Comments
 (0)