anchor.diff:    }
   
     @httpDelete deleteObject(@HTTPPath("id") String id) async {
  -    _query.matchOn[_query.entity.primaryKey] = whereEqualTo(_parsePrimaryKey(id));
  +    var primaryKey = _query.entity.primaryKey;
  +    _query.matchOn[primaryKey] = whereEqualTo(_parseValueForProperty(id, _query.entity.properties[primaryKey]));
   
       _query = await willDeleteObjectWithQuery(_query);
   
  
positive.code:     return responses;
    }
  
    dynamic _parsePrimaryKey(String id) {
      var primaryKey = _query.entity.primaryKey;
      var primaryAttribute = _query.entity.attributes[primaryKey];
  
      try {
        switch (primaryAttribute.type) {
          case PropertyType.string: return id;
          case PropertyType.bigInteger: return int.parse(id);
          case PropertyType.integer: return int.parse(id);
          case PropertyType.datetime: return DateTime.parse(id);
          case PropertyType.doublePrecision: return double.parse(id);
          case PropertyType.boolean: return id == "true";
          case PropertyType.transientList: return null;
          case PropertyType.transientMap: return null;
        }
  
negative.code:         return new Response.badRequest(body: {"error" : "If defining pageBy, either pageAfter or pagePrior must be defined. 'null' is a valid value"});
        }
  
        var pageByProperty = _query.entity.properties[pageBy];
        if (pageByProperty == null) {
          throw new HTTPResponseException(400, "pageBy key ${pageBy} does not exist for ${_query.entity.tableName}");
        }
  
        pageValue = _parseValueForProperty(pageValue, pageByProperty);
        _query.pageDescriptor = new QueryPage(direction, pageBy, boundingValue: pageValue == "null" ? null : pageValue);
      }
  
  