Atualizando associações de chave estrangeira no Entity Framework 4.1 Code-First

Concluí que devo definir tanto a Associação Independente quanto a Associação de Chaves Estrangeiras no projeto My Code-First. por exemplo

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

Com a definição acima, tenho que atualizar o AuthorID quando quiser alterar o autor do livro, ou apenas usar a linha abaixo é suficiente?
myBook.Author = author;

Vou receber uma exceção nula na linha acima, se é a primeira vez que estou definindo um autor para o livro? (A EF inicializa o autor do livro automaticamente quando atribuo algum valor a ele?) Devo inicializá-lo na definição:

O 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;
    }
  } 
}

questionAnswers(2)

yourAnswerToTheQuestion