title: When does Take get called in a linq query?
body: <p>So I have something like this:</p>
  
  <pre><code>public IQueryable&lt;Teachers&gt; GetTeachers()
  {
     var query = from a in this.Context.Techers
                 where a.active == true
                 select a
      return query;
  }
  </code></pre>
  
  <p>Then I call it like this:</p>
  
  <pre><code>List&lt;Teachers&gt; =  this.repo.GetTeachers().Take(5000).ToList();
  </code></pre>
  
  <p>Let's say somewhere later in program I am marking those records active to false;</p>
  
  <p>Now If I run this program again, should it return zero records? or does it pick "the next 5000 available" active records? </p>