1.7.1 OData 2.0 Version-Specific Summary

Following is a summary of the protocol constructs that are defined in this document that apply to OData 2.0 and OData 3.0. This section is structured by protocol feature, which is described and lists the sections that include content that is specific to that feature. Any constructs or semantics that exist only in OData 2.0 and OData 3.0 are explicitly denoted in that content.

Partial sets of entities: Servers responds to RetrieveEntitySet (section 2.2.7.2.1) GET requests with a response body containing a representation of a partial list of the entities that are identified by the request URI and a link to the next partial list.

RetrieveCount request: The purpose of the RetrieveCount Request (section 2.2.7.2.10) is to enable the count of a collection of EntityType ([MC-CSDL] section 2.1.2) instances to be retrieved by the client.

  • 2.2.3.1 URI Syntax

  • 2.2.3.5 Resource Path: Semantics

  • 2.2.3.6.1 System Query Options

  • 2.2.7 Request Types

  • 2.2.7.2.10 RetrieveCount Request

  • 3.1.4.3.1 Common Rules for Sending Retrieve Requests

  • 3.2.5.4.3 Executing a Received RetrieveCount Request

InlineCount system query option: A data service URI with an InlineCount system query option specifies that the response to the request includes the count N of the total number of entities in the EntitySet ([MC-CSDL] section 2.1.18) that are identified by the resource path section of the URI.

  • 2.2.3.1 URI Syntax

  • 2.2.3.5 Resource Path: Semantics

  • 2.2.3.6.1 System Query Options

  • 2.2.3.6.1.2 Evaluating System Query Options

  • 2.2.3.6.1.10 InlineCount System Query Option ($inlinecount)

  • 2.2.6.2.1.1 InlineCount Representation (for Collections of Entities)

  • 2.2.6.3.2.1 InlineCount Representation (for Collections of Entities)

  • 2.2.6.3.11 InlineCount Representation (for Collections of Links)

  • 3.2.5.4 Executing a Received Retrieve Request

Select system query option: A data service URI with a $select system query option identifies the same set of entities as a URI without a $select query option. However, the presence of a $select query option specifies that a response from the data service returns a subset, as identified by the value of the $select query option, of the properties that would have been returned had the URI not included a $select query option.

  • 2.2.3.1 URI Syntax

  • 2.2.3.6.1 System Query Options

  • 2.2.3.6.1.2 Evaluating System Query Options

  • 2.2.3.6.1.11 Select System Query Option ($select)

Customizable feeds: Customizable feed property mappings can be used to override an entity type's default AtomPub representation and specify how one or more properties of an entity type are to be represented within an AtomPub atom:entry element. This feature of the protocol specifies a set of data service metadata document (see section 2.2.3.7.2) annotations, which enable a property of an entity type to be mapped to a child element of an atom:entry element, or an XML attribute on the atom:entry element, or one of its child elements. When a property is mapped to an element, the value for the property is used as the value of the mapped-to element or attribute.

  • 2.2.3.7.2 Conceptual Schema Definition Language Document for Data Services

  • 2.2.3.7.2.1 Conceptual Schema Definition Language Document Extensions for Customizable Feeds

  • 2.2.6.2.2 Entity Type (as an Atom Entry Element)

  • 2.2.6.2.2.1 Entity Type (as an Atom Entry Element) with a Customizable Feed Property Mapping

  • 2.2.7.1.1 InsertEntity Request

  • 2.2.7.2.11 Retrieve Request Containing a Customizable Feed Mapping

  • 2.2.7.3.1 UpdateEntity Request

  • 2.2.7.3.8 Update Request Containing a Customizable Feed Mapping

  • 3.2.5.2.1 Common Rules for Executing Requests Containing a Customizable Feeds Mapped Property

Revised Verbose JSON response format: The Verbose JSON representation for collections has been enhanced to allow for the representation of additional collection-level metadata.

  • 2.2.6.3 JavaScript Object Notation (JSON) Format