I'm using .net core 2 mvc, I tried to build many-to-many relationship between Users and Steps. 
the relationship is doen but when I query for the record I get user = null.
Hier is my code:
(applicationUser model):
 public class ApplicationUser : IdentityUser
{
    public string Name { get; set; }
    public List<StepsUsers> StepUser { get; set; }
}
(Steps model):
public class Steps
{
    public int Id { get; set; }
    [Required]
    public string Name { get; set; }
    public List<StepsUsers> StepUser { get; set; }
}
StepsUsers model:
public class StepsUsers : IAuditable
{
    public int StepId { get; set; }
    public Steps Step { get; set; }
    public string UserId { get; set; }
    public ApplicationUser User { get; set; }
}
In DbContext I did this :
protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);           
        builder.Entity<StepsUsers>()
        .HasKey(s => new { s.StepId, s.UserId });
        builder.Entity<StepsUsers>()
        .HasOne(su => su.Step)
        .WithMany(s => s.StepUser)
        .HasForeignKey(su => su.StepId);
        builder.Entity<StepsUsers>()
        .HasOne(su => su.User)
        .WithMany(s => s.StepUser)
        .HasForeignKey(su => su.UserId);
    }
public DbSet<MyApp.Models.StepsUsers> StepsUsers { get; set; }
Now, when I query for an instance of StepsUsers with specific StepId I get all de fields correct except the User field is null
var stepUsers = await _context.StepsUsers.Where(s => s.StepId == id).ToListAsync();
I did the same code for another two tables and it works fine, I don't know why it is like this, any suggestion 1?
 
     
    