or que usar 'virtual' para propriedades de classe nas definições de modelo do Entity Framewor

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

O blog contém o seguinte exemplo 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; }
}

Qual é o objetivo de usarvirtual ao definir uma propriedade em uma classe? Que efeito isso tem?

questionAnswers(5)

yourAnswerToTheQuestion