1
Comment
과 일대 다 관계에있는 엔터티 Post
이 있습니다.관련 개체의 하위 집합을 포함하는 속성
public class Post
{
public virtual ICollection<Comment> Comments { get; set; }
public virtual ICollection<Comment> TopLevelComments
{
get
{
return Comments.Where(c => c.ParentID == null).ToList();
}
}
}
그러나,이 코드는
경우 ArgumentNullException을 던져 : 나는 단지 그들 중 특정 부분 집합을 반환하는 속성을 가지고 싶습니다 값은 null 일 수 없습니다. 매개 변수 이름 : 소스
This answer는 여전히 null
있는 동안 나는 Comments
를 필터링하기 때문에 그건 제안 보인다. 그러나이 방법을 사용하는 작업에서 열심히로드합니다.
var post = await _context.Post.Include(m => m.Author).Include(m => m.Comments).ThenInclude(m => m.Author).SingleOrDefaultAsync(m => m.PostID == id);
어떻게 작동합니까? 이것이 올바른 접근법입니까? 당신이 EF 코어를 사용하는 날을 제안
public Post()
{
Comment=new List<Comment>();
}
두 번째 것은 ThenInclude
의 사용은 다음과 같습니다