title: Understanding code first virtual properties
body: <p>Hi I am just learning to work with Entity Framework Code First and I can not seem to understand something.I have created three models based on a tutorial:</p>
  
  <pre><code>public class Course
  {
      public int CourseID { get; set; }
      public string Title { get; set; }
      public int Credits { get; set; }
      public virtual ICollection&lt;Enrollment&gt; 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&lt;Enrollment&gt; Enrollments { get; set; }
  }
  </code></pre>
  
  <p>My problem is that I do not understand what the properties with virtual do.If I check the database there is no column crate for each of the properties , only for the others.</p>
  
  <p>So what happens when you create a property with the virtual keyword?</p>