La mise à jour de clé Étrangère associations dans le Cadre de l'Entité de Code 4.1-Première

Je suis arrivé à une conclusion que je devais définir à la fois une Association Indépendante et la Clé Étrangère de l'Association dans Mon Code-Première conception. e.g:

public class Book
{
  public int ID {get; set;}
  public int AuthorID {get; set;}
  [ForeignKey("AuthorID")]
  public Author Author {get; set;} 
}  
  1. Avec la définition ci-dessus, dois-je mettre à jour AuthorID lorsque je veux changer le livre de l'auteur, Ou tout simplement en utilisant la ligne ci-dessous est-elle suffisante?

    myBook.Auteur = auteur;

  2. Que je vais avoir une exception nulle sur la ligne ci-dessus, si c'est la première fois que je suis à la définition d'un auteur pour le livre? (EF ne initialiser auteur du livre automatiquement quand je affecter une valeur pour elle?) Dois-je l'initialiser dans la définition:

Le code:

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

OriginalL'auteur Kamyar | 2011-04-19