title: LINQ - Does .Cast<T>() Select Records?
body: <p>I've noticed that certain command cause LINQtoSQL to connect to the database and download the records that are part of the query, for example, .ToArray().</p>
  
  <p>Does the command .Cast() cause a query to execute (and how can I tell these things in the future?). For example...</p>
  
  <pre><code>IRevision&lt;T&gt; current = context.GetTable(typeof(T))
      .Cast&lt;IRevision&lt;T&gt;&gt;()
      .SingleOrDefault(o =&gt; o.ID == recordId);
  </code></pre>
  
  <p>I know there is a command for .GetTable that allows you to specify a generic type, but for strange and unexplainable reasons, it cannot be used in this situation.</p>