title: Difference between Microsoft.OData.Core and Microsoft.Data.OData
body: <p>I am working on Web Api with OData enabled. I started working by referring to (<em>only the relevant dlls to the question are mentioned</em>) </p>
  
  <pre><code>Microsoft.AspNet.WebApi.OData
  Microsoft.Data.OData
  Microsoft.Data.Edm
  System.Spatial
  </code></pre>
  
  <p>But when I found out <strong>OData is by default case-sensitive</strong>, I look for a <em>solution of case insensitive</em> and I have gone through few post <a href="https://aspnetwebstack.codeplex.com/workitem/366" rel="noreferrer">Support OData Uri case insensitive parse</a> &amp; <a href="http://blogs.msdn.com/b/odatateam/archive/2014/09/05/announcement-odatalib-6-7-0-release.aspx" rel="noreferrer">ODataLib 6.7.0 Release</a> then finally landed into nuget package <a href="https://www.nuget.org/packages/Microsoft.OData.Core/" rel="noreferrer">Microsoft.OData.Core 6.9.0</a> which seems to be solving my problem. <strong><em>Here my confusion starts</em></strong>, It has its own collection related libraries <strong>under different namespace</strong></p>
  
  <pre><code>Microsoft.OData.Core-----------VS------Microsoft.Data.OData
  Microsoft.OData.Edm------------VS------Microsoft.Data.Edm
  Microsoft.Spatial--------------VS------System.Spatial
  </code></pre>
  
  <p>What is difference between above similar libraries, where we should use one upon another? In similar cases of mine, <em>Microsoft.OData.Core</em> can be use instead of <em>Microsoft.Data.OData</em> which is solving case sensitive issue?</p>