Skip to content

Commit 1898267

Browse files
Tyler CarlsonTyler Carlson
authored andcommitted
Fix order so don't delete new entries
1 parent 5c44954 commit 1898267

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/AutoMapper.Collection/AutoMapper.Collection/Mappers/EquivlentExpressionAddRemoveCollectionMapper.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ public static TDestination Map<TSource, TSourceItem, TDestination, TDestinationI
1919
var equivilencyExpression = GetEquivilentExpression(new TypePair(typeof(TSource), typeof(TDestination))) as IEquivilentExpression<TSourceItem,TDestinationItem>;
2020
var compareSourceToDestination = source.ToDictionary(s => s, s => destination.FirstOrDefault(d => equivilencyExpression.IsEquivlent(s, d)));
2121

22+
foreach (var removedItem in destination.Except(compareSourceToDestination.Values).ToList())
23+
destination.Remove(removedItem);
24+
2225
foreach (var keypair in compareSourceToDestination)
2326
{
2427
if (keypair.Value == null)
@@ -27,8 +30,6 @@ public static TDestination Map<TSource, TSourceItem, TDestination, TDestinationI
2730
context.Mapper.Map(keypair.Key, keypair.Value);
2831
}
2932

30-
foreach (var removedItem in destination.Except(compareSourceToDestination.Values).ToList())
31-
destination.Remove(removedItem);
3233
return destination;
3334
}
3435

0 commit comments

Comments
 (0)