Хм! Спасибо за совет о том, как использовать ленивую загрузку.

шел к выводу, что я должен определить как Независимую ассоциацию, так и Ассоциацию внешних ключей в дизайне My Code-First. например:

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

С учетом приведенного выше определения, нужно ли мне обновлять AuthorID, когда я хочу сменить автора книги, или достаточно просто использовать приведенную ниже строку?
myBook.Author = author;

Собираюсь ли я получить пустое исключение в приведенной выше строке, если я впервые определяю автора книги? (EF инициализирует автора книги автоматически, когда я присваиваю ей какое-то значение?) Должен ли я инициализировать ее в определении:

Код:

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

Ответы на вопрос(2)

Ваш ответ на вопрос