Понимание кода первых виртуальных свойств
Привет, я только учусь работать с 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; }
}
Моя проблема в том, что я не понимаю, что делают свойства с виртуальным. Если я проверяю базу данных, для каждого из свойств нет ящика для столбцов, только для остальных.
Так что же происходит, когда вы создаете свойство с помощью виртуального ключевого слова?