title: Entity Framework Core always returns an empty list of foreign rows
body: <p>I'm working with Entity Framework Core and ASP.NET Core 3.1.</p>
  
  <p>I have two simple models:</p>
  
  <pre class="lang-cs prettyprint-override"><code>public class UserModel 
  {
          public int    UserModelId   { get; set; }
          public string Email         { get; set; }
          public string Password      { get; set; }
          public string Name          { get; set; }
          public string Surname       { get; set; }
          public string Token         { get; set; }
  
          public List&lt;TherapyModel&gt; Therapies { get; set; }
  }
  
  public class TherapyModel 
  {
          public int      TherapyModelId  { get; set; }
          public int      UserModelId     { get; set; }
          public string   Title           { get; set; }
          public int      Quantity        { get; set; }
          public bool     Monday          { get; set; }
          public bool     Tuesday         { get; set; }
          public bool     Wednesday       { get; set; }
          public bool     Thursday        { get; set; }
          public bool     Friday          { get; set; }
          public bool     Saturday        { get; set; }
          public bool     Sunday          { get; set; }
          public string   ImgBase64       { get; set; }
          public string   ImgUrl          { get; set; }
  
          public int UserModelForeignKey { get; set; }
          public UserModel UserModel           { get; set; }
  }
  </code></pre>
  
  <p>Now, I initialize everything in this way:</p>
  
  <pre class="lang-cs prettyprint-override"><code>public class DatabaseManager : DbContext 
  {
          //Entities:
          public DbSet&lt;UserModel&gt;     UserModel    { get; set; }
          public DbSet&lt;TherapyModel&gt;  TherapyModel { get; set; }
  
          protected override void OnModelCreating( ModelBuilder modelBuilder ) 
          {
              modelBuilder.Entity&lt;TherapyModel&gt;().HasOne(p =&gt; p.UserModel)
                                                 .WithMany(s =&gt; s.Therapies)
                                                 .HasForeignKey(p =&gt; p.UserModelForeignKey);
          }
  
          protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
              =&gt; optionsBuilder.UseMySql( @"Server=127.0.0.1;database=test2;uid=root;pwd=" ); );
  }
  </code></pre>
  
  <p>The local db is populated correctly, with the right foreign keys. In fact this query returns 3 rows:</p>
  
  <pre class="lang-sql prettyprint-override"><code>select * 
  from usermodel 
  join therapymodel on therapymodel.UserModelForeignKey 
  </code></pre>
  
  <p>But, for some reason, when I try to get the <code>UserModel</code> from my C# code, this always returns "Therapies" as NULL. I get to takes <code>UserModel</code> in this two way:</p>
  
  <pre class="lang-cs prettyprint-override"><code>UserModel user = dbManager.UserModel.FirstOrDefault( user =&gt; user.UserModelId == iUserModel.UserModelId );
  
  var users = dbManager.UserModel;
  </code></pre>
  
  <p>Both user and users had Therapies as NULL. I really can't understand why. Any help?</p>