private void AddUpdateEvent(SystemEntity obj) { if (Updated.All(info => info.ObjectBase != obj)) { SystemEntity originalVersion = GetOriginalVersion(obj); UpdatedEventInfo eventInfo = obj.GetUpdatedEventInfo(originalVersion); Updated.Add(eventInfo); eventInfo.PreTransactionHandled = true; eventInfo.Publish(this, typeof(IOnUpdating <>), (info, ses, t) => info.GetTypedInfo(t).ToUpdatingArgs(ses, t)); } }