public virtual void Merge(EntityChangeInfo changeInfo) { foreach (var propertyChange in changeInfo.PropertyChanges) { var existingChange = PropertyChanges.FirstOrDefault(p => p.PropertyName == propertyChange.PropertyName); if (existingChange == null) { PropertyChanges.Add(propertyChange); } else { existingChange.NewValue = propertyChange.NewValue; } } foreach (var extraProperty in changeInfo.ExtraProperties) { var key = extraProperty.Key; if (ExtraProperties.ContainsKey(key)) { key = InternalUtils.AddCounter(key); } ExtraProperties[key] = extraProperty.Value; } }
public static void AddCounter() { InternalUtils.AddCounter("test").ShouldBe("test__2"); InternalUtils.AddCounter("test__2").ShouldBe("test__3"); InternalUtils.AddCounter("test__a").ShouldBe("test__a__2"); }