EF 코드 4.1을 사용하는 데 문제가 있습니다. 뭔가 이해하지 못하고 있습니다.게으른 로딩이 작동하지 않습니다.
나의 이해는 가상으로 (컬렉션 또는 단일 개체 여부), 그들은 수요에로드 게으른 것, 그래서 같은 것을 할 수있는 관계를 표시하여 :
var page = context.Pages.Where(xxxx);
var department = page.Department; //load this on demand?
var name = department.Name; //null reference exception
page.DepartmentId가 제대로 설치되어, 하나. 또한, 참조를 context.Entry (page) .Reference (p => p.Department) .Load()와 함께 참조를 수동으로로드하지만, 객체 모델을 갖는 전체 요점은 모든 곳에서 강박 적으로 그렇게 할 필요가 없다는 것입니다.
public class Page
{
public int DepartmentId { get; set; }
public virtual Department { get; set; }
}
public class Department
{
public virtual ICollection<Page> Pages { get; set; }
}
상황 OnModelCreating
modelBuilder.Entity<Page>().HasRequired(x => x.Department).WithMany(y => y.Pages).HasForeignKey(x => x.DepartmentId).WillCascadeOnDelete(false);
나는 물론, 장애인 게으른 로딩을하지했습니다.
부서의 식별자는 무엇입니까? –