EF7에서 참조로드

asp.net-core-mvc entity-framework-core

문제

저는 두 개의 수업을 가지고 있습니다 - 저자와 블로그 포스트 :

public class Author
{
    public Author()
    {
        Blogposts = new HashSet<Blogpost>();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Blogpost> Blogposts { get; set; }
}

public class Author
{
    public Author()
    {
        Blogposts = new HashSet<Blogpost>();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Blogpost> Blogposts { get; set; }
}

EF7 (beta4)을 사용하여 다음과 같은 방식으로 연결합니다.

public class Author
{
    public Author()
    {
        Blogposts = new HashSet<Blogpost>();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Blogpost> Blogposts { get; set; }
}

blogpost Db.Blogpost.First(x => x.Id == id) 액세스 할 때 Blogpost 객체를 검색합니다. 그러나 .Author 속성은 null입니다. 또한 Author 객체를 검색 할 때 .Blogposts 컬렉션이 비어 있습니다.

나는 EF7이 eager-loading이나 lazy-loading을 아직 구현하지 않았 음을 이해한다. 그렇다면 외래 키를 통해 참조 된 객체를 검색 / 할당하려면 어떻게해야합니까?

수락 된 답변

EF 7은 열심히로드를 구현했습니다.

사용하십시오. 포함

var post = context.Blogpost.First(); // post.Author will be null

var post = context.Blogpost.Include(b => b.Author).First(); // post.Author will be loaded

컬렉션 작업에 대한 자세한 내용은 다음 질문에 대한 답변을 참조하십시오. 컬렉션 사용 방법




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.