title: Create an ODataQueryOptions programmatically
body: <p>My API currently has some OData endpoints that use generic ODataQueryOptions to recieve an OData query...</p>
  
  <pre><code>[HttpGet]
  [Route("search")]
  public object Search(ODataQueryOptions&lt;MySearchableEntity&gt; options)
  {
      return searchService.Search(options);
  }
  </code></pre>
  
  <p><code>searchService</code> then traverses the <code>Expression</code> of <code>options.Filter.FilterClause</code> to build a custom SQL query. It does similar stuff for the order, top and skip parameters.</p>
  
  <p>This is all working fine, but I now need it to parse a query for a dynamic type. </p>
  
  <p>Is it possible to programmatically build an EdmModel and IEdmType etc for the ODataQueryContext, without having a 'real' CLR type backing it up? </p>
  
  <p>The 'type' is well defined in that we have classes describing its shape, but it doesn't exist as a CLR type.</p>