Exemple #1
0
        /// <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);
 }