title: What effect(s) can the virtual keyword have in Entity Framework 4.1 POCO Code First?
body: <p>Does the <code>virtual</code> keyword has an effect when used on the properties in EF Code First?. Can someone describe all of its ramifications in different situations?</p>
  
  <p>For instance, I know it can control <a href="https://docs.microsoft.com/archive/blogs/adonet/using-dbcontext-in-ef-4-1-part-6-loading-related-entities" rel="noreferrer">lazy loading</a> -- if you use the virtual keyword on an ICollection/one-to-many relationship property, it will be lazy-loaded by default, whereas if you leave the virtual keyword out, it will be eager-loaded.  </p>
  
  <p>What other effects can <code>virtual</code> keyword have in EF with POCO entities?. Should I make it default to use <code>virtual</code> on all my properties, or default to not using it?</p>