title: OData WebAPI, in-memory queryable and case-sensitivity
body: <p>I have a problem with OData WebAPI and querying a <code>EnumerableQuery</code> (a list on which I called <code>.AsQueryable()</code>. I have a entity set, a controller with a Get method which returns the <code>IQueryable</code>. When I query that entity set and use this $filter</p>
  
  <pre><code>$filter=SomeStringProp eq 'SomeValue'
  </code></pre>
  
  <p>I get only entities whose <code>SomeStringProp</code> equals <code>'SomeValue'</code> by letters and casing. I would like to somehow force OData to use a case-insensitive comparer for all strings - even with function calls like this</p>
  
  <pre><code>$filter=contains(SomeStringProp, 'apple')
  </code></pre>
  
  <p>I would need OData to return entities whose SomeStringProp is equal to <code>'APPLE'</code>, <code>'PineApple'</code> and <code>'AppleSauce'</code></p>
  
  <p>Some additional information:</p>
  
  <ul>
  <li>A database has nothing to do with this; as stated, the collection is in-memory</li>
  <li>Using tolower() in OData queries is just a workaround, so it's not a solution to the problem</li>
  </ul>