嗨,我有一个Person和Passport实体。我在它们之间创建了一个2个关联,它运行得很好。我可以从Person导航到Passport,但是从Passport到Person返回null。以下是我如何进行映射:
modelBuilder.Entity<Person>().HasOptional(p => p.Passport)
.WithOptionalPrincipal(p => p.Person);
以下是实体:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
public Passport Passport { get; set; }
}
public class Passport
{
public int Id { get; set; }
public string Number { get; set; }
public Person Person { get; set; }
}
如何才能导航两个方向?
答案 0 :(得分:1)
您的问题是由于您遗漏了延迟加载的一项要求,即&#34;所有导航属性必须为virtual
&#34;。如果类满足这些要求,则实体框架为POCO实体创建代理,并且那些代理类允许您在运行时加载相关实体,实现此功能的人称为lazy loading
您将在以下link
中找到所有这些要求