/// <summary> /// 调用 DbConteext的 SaveChanges 方法,注意,如果存在变化的 Entity 且 该 Entity 为 IdAndModifyDatetimeEntity 类的子类, /// 则设置 该 Entity的 LastModifyDateTime 为当前时间; /// </summary> public override int SaveChanges() { BeforeSaveChangesEvent?.Invoke(this, new SaveChangesEventArgs { DbContext = this }); var result = base.SaveChanges(); AfterSaveChangesEvent?.Invoke(this, new SaveChangesEventArgs { DbContext = this }); return(result); }
internal bool InvokeBeforeSaveChangesEvent(object sender) { if (BeforeSaveChangesEvent != null) { var args = new CancelEventArgs(); foreach (Delegate handler in BeforeSaveChangesEvent.GetInvocationList()) { handler.DynamicInvoke(this, args); if (args.Cancel) { return(false); } } } return(true); }