У меня есть класс:Поставлен навигация свойство не нагружает
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int UserId { get; set; }
public virtual User User { get; set; }
}
В User
таблице:
Id Name
1 Tommy
2 John
Я создаю объект:
Person P = new Person { Name = "Test", UserId = 1 };
я вставляю Person
объект в базе данных:
db.Persons.Add(P);
db.SaveChanges();
var user = P.User;
Проблема в том, что я пытаюсь получить доступ. P.User
содержит null
. Другие свойства P
заполнены должным образом.
Почему?
Не используйте ALLCAPS в заголовках, пожалуйста. – jmoerdyk
Вы установили пользователя? Похоже, вы создаете Личность, но не связываете человека с пользователем - должен ли это делать UserId? У вас также есть ленивое загруженное (виртуальное) свойство nav, возможно, стоит профилировать SQL-сервер, чтобы посмотреть, что он пытается загрузить при доступе к свойству. – Charleh
Да UserId сделает ассоциацию –