Хм! Спасибо за совет о том, как использовать ленивую загрузку.
шел к выводу, что я должен определить как Независимую ассоциацию, так и Ассоциацию внешних ключей в дизайне 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;
}
}
}