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 T GetProperty <T>(string property) { if (ExtraProperties.ContainsKey(property)) { return((T)ExtraProperties[property]); } else { return(default(T)); } }