title: How do I filter using Odata from dynamic data nested in a list?
body: <p>example of json file</p>
  
  <pre><code>{
      "ProjectName": "14010-00 General Expenses",
      "ClientName": "Whiting",
      "Created": "2015-06-26T21:06:17.721Z",
      "Data": {
        "function": "LIT",
        "tag": "1461",
        "rack": "1",
        "slot": "4",
        "channel": "1"
      }
  },
  {
      "ProjectName": "104021-00 CPF",
      "ClientName": "Bonanza Creek",
      "Created": "2015-06-26T21:03:20.732Z",
      "Data": {
        "tag": "200",
        "function": "FT",
        "basemodel": "FT-200",
        "shortdescription": ""
      }
  }
  </code></pre>
  
  <p>and I want to filter based on the contents of Data however this varies widely between the different components. So the Component.cs file possesses</p>
  
  <pre><code>public class Component{
      public string ClientName{get; set;}
      public string ProjectName{get; set;}
      ...
      public IDictionary&lt;string, object&gt; Data { get; set; }
  }
  </code></pre>
  
  <p>The problem might be from the dictionary being composed of string,object instead of string,string yet most, if not all, of the data's values are strings anyway.</p>
  
  <p>So a </p>
  
  <pre><code>~/component?$filter=ClientName eq 'Whitning'
  </code></pre>
  
  <p>will work; however, the query fails on</p>
  
  <pre><code>~/component?$filter=Data/function eq 'FT'
  </code></pre>
  
  <p>and gives the error response
      <strong>"The parent value for a property access of a property 'function' is not a     single value. Property access can only be applied to a single value."</strong> and trying </p>
  
  <pre><code>~/component?$filter=Data/any(d: d/function eq 'FT')
  </code></pre>
  
  <p>gives the error response
  <strong>"Could not find a property named 'function' on type 'System.Collections.Generic.KeyValuePair_2OfString_Object'."</strong></p>
  
  <p><em>So how can I filter by objects inside the Data object which are dynamically created and not always present?</em></p>