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);
 }