Понимание кода первых виртуальных свойств

Привет, я только учусь работать с Entity Framework Code First, и я не могу что-то понять. Я создал три модели на основе учебника:

public class Course
{
    public int CourseID { get; set; }
    public string Title { get; set; }
    public int Credits { get; set; }
    public virtual ICollection<Enrollment> Enrollments{ get; set; }
}

public class Enrollment
{
    public int EnrollmentID { get; set; }
    public int CourseID { get; set; }
    public int StudentID { get; set; }
    public decimal? Grade { get; set; }
    public virtual Course Course { get; set; }
    public virtual Student Student { get; set; }
}
public class Student
{
    public int StudentID { get; set; }
    public string LastName { get; set; }
    public string FirstMidName { get; set; }
    public DateTime EnrollmentDate { get; set; }
    public virtual ICollection<Enrollment> Enrollments { get; set; }
}

Моя проблема в том, что я не понимаю, что делают свойства с виртуальным. Если я проверяю базу данных, для каждого из свойств нет ящика для столбцов, только для остальных.

Так что же происходит, когда вы создаете свойство с помощью виртуального ключевого слова?

Ответы на вопрос(2)

Ваш ответ на вопрос