code: function(instance){
  			if(this.queryLogic) {
  				return canReflect.getIdentity(instance, this.queryLogic.schema);
  			} else if(this.idProp) {
  				return instance[this.idProp];
  			} else {
  				throw new Error("can-connect/base/base - Please add a queryLogic option.")
  			}
  		}
docs: @function can-connect/base/base.id id
  @parent can-connect/base/base.identifiers
  
  Uniquely identify an instance or raw instance data.
  
  @signature `connection.id(instance)`
  
  Returns the instance id as determined by [can-connect/base/base.queryLogic]'s id values.
  
  @param {Instance|Object} instance An instance or raw properties for an instance.
  
  @return {String|Number} A string or number uniquely representing `instance`.
  
  
  @body
  
  ## Use
  
  Many behaviors, such as the [can-connect/constructor/store/store], need to have a unique identifier for an
  instance or instance data.  This `connection.id` method should return that.
  
  Typically, an item's id is a simply property value on the object. For example, "Todo" data might look like:
  
  ```js
  {_id: 5, name: "do the dishes"}
  ```
  
  In this case, [can-connect/base/base.queryLogic]'s `id` property should be set to "_id":
  
  ```js
  import QueryLogic from "can-query-logic";
  
  var queryLogic = new QueryLogic({
  identity: ["_id"]
  });
  
  connect([...],{queryLogic: queryLogic});
  ```