src/sap.ui.core/src/sap/ui/model/base/ManagedObjectModel.js
function(oContext) {
			// use the id of the ManagedObject instance as the identifier
			// for the extended change detection
			var oObject = oContext.getObject();
			if (oObject instanceof  ManagedObject) {
				return oObject.getId();
			}

			return JSONListBinding.prototype.getEntryKey.apply(this, arguments);
		}
function(oContext) {
			// use the id of the ManagedObject instance as the identifier
			// for the extended change detection
			var oObject = oContext.getObject();
			if (oObject instanceof  ManagedObject) {
				return oObject.getId();
			}

			return JSONListBinding.prototype.getEntryKey.apply(this, arguments);
		}
function ( oContext ) { // use the id of the ManagedObject instance as the identifier // for the extended change detection var oObject = oContext . getObject ( ) ; if ( oObject instanceof ManagedObject ) { return oObject . getId ( ) ; } return JSONListBinding . prototype . getEntryKey . apply ( this , arguments ) ; }
Use the id of the ManagedObject instance as the unique key to identify
the entry in the extended change detection. The default implementation
in the parent class which uses JSON.stringify to serialize the instance
doesn't fit here because none of the ManagedObject instance can be
Serialized.

@param {sap.ui.model.Context} oContext the binding context object
@return {string} The identifier used for diff comparison
@see sap.ui.model.ListBinding.prototype.getEntryData
Use the id of the ManagedObject instance as the unique key to identify the entry in the extended change detection . The default implementation in the parent class which uses JSON . stringify to serialize the instance doesn t fit here because none of the ManagedObject instance can be Serialized .