title: How to $select on OData Open Data Type? Query not valid error
body: <p>I'm serving an entity that has a Open Data Type of type:</p>
  
  <blockquote>
    <p>IDictionary </p>
  </blockquote>
  
  <p>I'm not able to use the <code>$select</code> keyword to select the dynamic data I have in that dictionary. I have other static atributtes that <code>$select</code> just fine. The error I'm getting is the following:</p>
  
  <pre><code>    {
  "error": {
      "code": "",
      "message": "The query specified in the URI is not valid. An identifier was expected at position 0.",
      "innererror": {
          "message": "An identifier was expected at position 0.",
          "type": "Microsoft.OData.ODataException",
          "stacktrace": "   em Microsoft.OData.UriParser.ExpressionToken.GetIdentifier()\r\n   em Microsoft.OData.UriParser.SelectExpandTermParser.ParseSegment(PathSegmentToken previousSegment, Boolean allowRef)\r\n   em Microsoft.OData.UriParser.SelectExpandTermParser.ParseTerm(Boolean allowRef)\r\n   em Microsoft.OData.UriParser.SelectExpandParser.ParseSingleSelectTerm()\r\n   em Microsoft.OData.UriParser.SelectExpandParser.ParseCommaSeperatedSelectList(Func`2 ctor, Func`1 termParsingFunc)\r\n   em Microsoft.OData.UriParser.SelectExpandParser.ParseSelect()\r\n   em Microsoft.OData.UriParser.SelectExpandSyntacticParser.Parse(String selectClause, String expandClause, IEdmStructuredType parentEntityType, ODataUriParserConfiguration configuration, ExpandToken&amp; expandTree, SelectToken&amp; selectTree)\r\n   em Microsoft.OData.UriParser.ODataQueryOptionParser.ParseSelectAndExpandImplementation(String select, String expand, ODataUriParserConfiguration configuration, ODataPathInfo odataPathInfo)\r\n   em Microsoft.OData.UriParser.ODataQueryOptionParser.ParseSelectAndExpand()\r\n   em System.Web.OData.Query.SelectExpandQueryOption.get_SelectExpandClause()\r\n   em System.Web.OData.Query.Validators.SelectExpandQueryValidator.Validate(SelectExpandQueryOption selectExpandQueryOption, ODataValidationSettings validationSettings)\r\n   em System.Web.OData.Query.SelectExpandQueryOption.Validate(ODataValidationSettings validationSettings)\r\n   em System.Web.OData.Query.Validators.ODataQueryValidator.Validate(ODataQueryOptions options, ODataValidationSettings validationSettings)\r\n   em System.Web.OData.Query.ODataQueryOptions.Validate(ODataValidationSettings validationSettings)\r\n   em System.Web.OData.EnableQueryAttribute.ValidateQuery(HttpRequestMessage request, ODataQueryOptions queryOptions)\r\n   em System.Web.OData.EnableQueryAttribute.ExecuteQuery(Object response, HttpRequestMessage request, HttpActionDescriptor actionDescriptor, ODataQueryContext queryContext)\r\n   em System.Web.OData.EnableQueryAttribute.OnActionExecuted(HttpActionExecutedContext actionExecutedContext)"
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>The response JSON is something like this:</p>
  
  <pre><code>    "@odata.context": "http://localhost:60275/odata4/$metadata#AnoValors",
  "value": [
      {
          "1985": 13.822407187575308,
          "1986": 14.37878785150181,
          "1987": 14.914295678631518,
          "1988": 14.671386324309562,
          "ID": "IDDATA",            
      },...
  </code></pre>
  
  <p>None of the following queries work:</p>
  
  <pre><code>    http://localhost:60275/odata4/ControllerName(ID='IDData')/?$select=1985
      http://localhost:60275/odata4/ControllerName(ID='IDData')?$select=1985
      http://localhost:60275/odata4/ControllerName(ID='IDData')/?$select='1985'
      http://localhost:60275/odata4/ControllerName(ID='IDData')/?$select="1985"
  </code></pre>
  
  <p>My model class is:</p>
  
  <pre><code>    using System;
      using System.Collections.Generic;
      using System.ComponentModel.DataAnnotations;
      using System.ComponentModel.DataAnnotations.Schema;
  
      namespace OdataV4.Models{
  
      public class YearValue
      {      
  
          [Key]
          public string ID{ get; set; }
          public IDictionary&lt;string, object&gt; YEARVALUE { get; set; }
  
     }
    }
  </code></pre>
  
  <p>I'm using:</p>
  
  <pre><code>    Entity Framework 6.1.3
      Microsoft.AspNet.OData 6.0.0
      Microsoft.AspNet.WebApi.OData 5.7.0
      Microsoft.AspNet.WebApi 5.0.0
      Microsoft.Data.OData 5.0.0
      Microsoft.OData.Core 7.0.0
      Microsoft.OData.Edm 7.0.0
  </code></pre>
  
  <p>Does anyone knows what this could be? Are Open Types selectable?</p>