title: Cannot get populated EF object with linq from one to many relationship
body: <p>I'm having a problem getting data out of my db using EF and linq.  At a high level, I want to a fully populated object including the data from the many sides of my DB.</p>
  
  <p>I have an AppUser table linked one-to-many to an AppUser_AppRole table, again, linked one to many to an AppRole table in our db.  I've double checked the FKs are there.</p>
  
  <p>Now, I'm expecting to just be able to do something like this to get back what I want.</p>
  
  <pre><code>var currentAppUser = context.AppUsers
                .Where(x=&gt;x.Id == currentAppUserId.Value)
                .Include(x=&gt;x.AppRoles)
                .FirstOrDefault();
  </code></pre>
  
  <p>I CAN type this out, and VS won't complain, but when I run it, I get the right user in currentAppRole, but nothing in AppRoles.  But when I run the following query, I get two rows, coming back.  So I know I'm doing something wrong with linq above.</p>
  
  <pre><code>select au.id, au.adusername, ar.id, ar.RoleName 
  from appuser au join AppUser_AppRole auar on au.id = auar.AppUserID join approle ar on auar.AppRoleID = ar.ID 
  where au.id = 4
  </code></pre>
  
  <p>Here's what the model looks like for these tables.
  <img src="https://i.stack.imgur.com/7DcRZ.jpg" alt="model from vs"></p>
  
  <p>I hope someone can help make sense of this for me.  Just as soon as I THINK I have a handle on EF\linq, I do what I did before, but I get different results (like this :&lt;).  I'm frustrated by this.  Any help would be appreciated.  Thank you.</p>
  
  <p>PS  I've tried the other notation, the from...in... (lambda expression?) but I'm not sure that's working cause I don't know where\how to do the .Includes.</p>