protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         db.Dispose();
     }
     base.Dispose(disposing);
 }
 /// <summary>
 /// Protected Virtual Dispose method
 /// </summary>
 /// <param name="disposing"></param>
 protected virtual void Dispose(bool disposing)
 {
     if (!this.disposed)
     {
         if (disposing)
         {
             Debug.WriteLine("UnitOfWork is being disposed");
             _context.Dispose();
         }
     }
     this.disposed = true;
 }