Ленивая загрузка свойств после вставки - PullRequest
4 голосов
/ 11 июня 2011

У меня есть родительский и дочерний объект.Если я делаю следующее

Child c = new Child();

c.ParentID = parentID;
context.Child.Add(c);
context.SaveChanges();

int i = c.Parent.ParentID; // throws an exception b/c Parent is null

Почему это происходит?Если я получаю новый контекст (после сохранения), я вижу Parent просто отлично.

1 Ответ

9 голосов
/ 11 июня 2011

Я полагаю, вы работаете с отложенной загрузкой. Если вы хотите, чтобы свойство навигации заполнялось после добавления объекта со свойством внешнего ключа в контекст, вы должны использовать Create метод DbSet (вместо создания экземпляра объекта с new):

Child c = context.Child.Create();

При активной отложенной загрузке создается прокси-объект, который обеспечивает загрузку свойства навигации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...