 <p>Have you tried any of these techniques?</p> <p>This is from <a href="https://msdn.microsoft.com/en-us/data/jj574232.aspx?f=255&amp;MSPPError=-2147217396" rel="nofollow">this MSDN page about eager loading</a></p> <pre><code>using (var context = new BloggingContext()) { // Load all blogs and related posts var blogs1 = context.Blogs .Include(b =&gt; b.Posts) .ToList(); // Load one blogs and its related posts var blog1 = context.Blogs .Where(b =&gt; b.Name == "ADO.NET Blog") .Include(b =&gt; b.Posts) .FirstOrDefault(); // Load all blogs and related posts // using a string to specify the relationship var blogs2 = context.Blogs .Include("Posts") .ToList(); // Load one blog and its related posts // using a string to specify the relationship var blog2 = context.Blogs .Where(b =&gt; b.Name == "ADO.NET Blog") .Include("Posts") .FirstOrDefault(); } </code></pre> <p><br></p> <p><strong>Some remarks on lazy and eager loading</strong></p> <p>Generelly I tend to work without lazy loading. I like to know when my entities are loaded and when not (eager loading).</p> <p>Lazy loading can be turned off </p> <ul> <li><p>completely by setting the respective property on the <code>DbContext</code>:</p> <p><code>this.Configuration.LazyLoadingEnabled = false;</code></p></li> <li><p>for a specific entity when the navigation property is not marked virtual. For more info, see the linked MSDN article</p></li> </ul>