title: EF Core Lazy loading extremely slow
body: <p>I did a small test enabling lazy <code>loading.optionsBuilder.UseLazyLoadingProxies().UseSqlServer(ConnectionString);</code></p>
  
  <p>(with EF Core 2.1.4)</p>
  
  <p>I am looping through instruments with and without and this is the results I get</p>
  
  <p>Case 1</p>
  
  <pre><code>var instruments = db.instruments.OrderBy(t=&gt;t.id).Include(t=&gt;t.NavPro1).ThenInclude(t=&gt;t.NavPro2).Take(200);
  </code></pre>
  
  <p>Case 2 </p>
  
  <pre><code>var instruments = db.instruments.OrderBy(t=&gt;t.id).Include(t=&gt;t.NavPro1).ThenInclude(t=&gt;t.NavPro2).Take(200);
  </code></pre>
  
  <p>Then</p>
  
  <pre><code>   foreach (var i in instruments)
     {
          var props = i.NavPro1;
          foreach (var prop in props)
          {
              sbPrintGreeks.AppendLine(prop.NavPro2.Name + " - " + prop.id + " - " + prop.Value);
          }
     }
  </code></pre>
  
  <p>Takes 7s to get 100k rows without lazy loading</p>
  
  <p>Takes 160s to get 3k rows with lazy loading.</p>
  
  <p>What can be done to get decent performance ? </p>