private void AddDeletedEvent(SystemEntity obj) { if (Deleted.All(info => info.ObjectBase != obj)) { EventInfo eventInfo = obj.GetEventInfo(); Deleted.Add(eventInfo); eventInfo.PreTransactionHandled = true; eventInfo.Publish(this, typeof(IOnDeleting <>), (info, ses, t) => info.GetTypedInfo(t).ToDeletingArgs(ses, t)); } }