title: Get original dictionary from dict.AsQueryable()
body: <p>I have a generic dictionary that pass to a method which only accepts <code>IQueryable</code> as a parameter</p>
  
  <p>Is it possible to cast the queryable back to the original dictionary? And I don't mean creating a new dictionary with <code>.ToDictionary(...)</code></p>
  
  <pre><code>private static void Main()
  {
  
      var dict = new Dictionary&lt;int, int&gt;();
      dict.Add(1,1);
  
      SomeMethod(dict.AsQueryable());
  
  }
  
  public static void SomeMethod(IQueryable dataSource)
  {
      // dataSource as Dictionary&lt;int, int&gt; --&gt; null
      var dict = dataSource.???
  }
  </code></pre>
  
  <p>I know in this simple example this does not make much sense. But in the big picture I have an interface which requires me to return an <code>IQueryable</code> as a dataSource. On implementation returns a dictionary. On a different place in my code I have classes that process the dataSources.  </p>
  
  <p>The processor knows that the dataSource will be an Dictionary but I don't want to have the overhead for creating another Dictionary if I already have one.</p>