How to manage multiple relationships with an ORM mapped to a domain model in the absence of technical constraints?

Domain Driven Design states that you must have a domain model, which reflects the ubiquitous language used by domain experts. When I use ORMs and multiple multiple relationships, I usually do it:

public class student
{
public student ()
{
this.Courses = new HashSet();
}

public int StudentId {get; together; }
    [Required]
    public string StudentName {get; together; }

Public virtual collection Course {get; together; }
}

public class class
{
public course ()
{
this.Students = new HashSet();
}

public int CourseId {get; together; }
public string CourseName {get; together; }

Public virtual collection Students {get; together; }
}

However, with EF Core, you need to create a join class as described here: https://github.com/aspnet/EntityFrameworkCore/issues/1368. In the case of the above; I should create a class called: StudentCourse.

What is the most appropriate way to map an ORM to a domain model assuming there is no technical constraint, as with EF Core if you currently have to have a join class? My thought is:

1) If the join table has a state and behavior, use a join class.

2) If the join table has a name recognized by domain experts, use a join class, for example. a person may be eligible for a loan – here the eligibility is the junction class and is a term recognized by the field. In the case of the above; StudentCourse is not recognized by the field.

3) Otherwise, do not use a join class (as in the example above).