¿Por qué usar 'virtual' para las propiedades de clase en las definiciones de modelo de Entity Framework?

En el siguiente blog:http: //weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.asp

El blog contiene el siguiente ejemplo de código:

public class Dinner
{
   public int DinnerID { get; set; }
   public string Title { get; set; }
   public DateTime EventDate { get; set; }
   public string Address { get; set; }
   public string HostedBy { get; set; }
   public virtual ICollection<RSVP> RSVPs { get; set; }
}

public class RSVP
{
   public int RsvpID { get; set; }
   public int DinnerID { get; set; }
   public string AttendeeEmail { get; set; }
   public virtual Dinner Dinner { get; set; }
}

¿Cuál es el propósito de usarvirtual al definir una propiedad en una clase? ¿Qué efecto tiene?

Respuestas a la pregunta(10)

Su respuesta a la pregunta