public void Dispose()
 {
     _shapeInstanceTransaction.Dispose();
     _shapeGeometryTransaction.Dispose();
     if (_shapeGeometryCursor != null)
     {
         _esentModel.FreeTable(_shapeGeometryCursor);
     }
     if (_shapeInstanceCursor != null)
     {
         _esentModel.FreeTable(_shapeInstanceCursor);
     }
 }
 protected virtual void Dispose(bool disposing)
 {
     if (_disposed)
     {
         return;
     }
     if (disposing)
     {
         try
         {
             if (InTransaction)
             {
                 _readTransaction.Dispose();
             }
         }
         finally
         {
             Model.EndTransaction();
         }
     }
     _disposed = true;
 }