Actualización de asociaciones de claves externas en Entity Framework 4.1 Code-First

He llegado a la conclusión de que debería definir tanto la Asociación Independiente como la Asociación de Claves Extranjeras en el diseño de Mi Código Primero. p.ej

public class Book
{
  public int ID {get; set;}
  public int AuthorID {get; set;}
  [ForeignKey("AuthorID")]
  public Author Author {get; set;} 
}  

Con la definición anterior, ¿tengo que actualizar AuthorID cuando quiero cambiar el autor del libro, o simplemente usando la línea de abajo es suficiente?
myBook.Author = autor;

¿Voy a obtener una excepción nula en la línea anterior si esa es la primera vez que estoy definiendo un autor para el libro? (¿EF inicializa el autor del libro automáticamente cuando le asigno algún valor?) ¿Debo inicializarlo en la definición:

El código

public class Book
{
  public int ID {get; set;}
  public int AuthorID {get; set;}

  private Author m_Author;
  [ForeignKey("AuthorID")]
  public Author Author {get
  {
    get
    {
      if (m_Author == null)
        m_Author = new Author();
      return m_Author;
    }
    set
    {
      this.m_Author = value;
    }
  } 
}