title: OData in Web API Doesn't Follow OData Standard Specs
body: <p>First of, the standard spec for OData response looks like:</p>
  
  <pre><code>{
      "d" : {
          "results": [
              {
                  "__metadata": {
                      "uri": "http://demos/Orders(10248)",
                      "type": "SampleModel.Order"
                  },
                  "ProductId": 10248,
                  "Name": "Vgnon"
              }
          ],
          "__count": "1"
      }
  }
  </code></pre>
  
  <p>But, in Web API (using EntitySetController), the OData response looks like:</p>
  
  <pre><code>    {
              "odata.metadata":"http://localhost:43111/api/$metadata#Products",
              "odata.count":"1",
              "value":
              [
                  {
                    "ProductId":2,
                    "CreatedDate":"2013-06-10T23:53:26",
                    "CreatedBy":0,"Name":"Camera"
                  }
              ]
          }
  </code></pre>
  
  <p>Notice the count in both response.
  Does Web API follow OData standard specs?</p>
  
  <p>Also, as pointed out by this SO question: <a href="https://stackoverflow.com/questions/15422831/web-api-odata-inlinecount-not-working">Web API OData Inlinecount not working</a>
  The answer says something like:</p>
  
  <blockquote>
    <p>$inlinecount out of the box only works when you're sending back OData responses.</p>
  </blockquote>
  
  <p>Does that mean in Web API (using either EntitySetController or ODataController) we can return OData response and non-OData response? Or should I say, Standard OData response and non-standard OData response?</p>