エンティティPost
は、Comment
と1対多の関係にあります。値がnullにすることはできません。しかし、このコードは関連オブジェクトのサブセットを含むプロパティ
例外ArgumentNullExceptionをスロー
public class Post { public virtual ICollection<Comment> Comments { get; set; } public virtual ICollection<Comment> TopLevelComments { get { return Comments.Where(c => c.ParentID == null).ToList(); } } }
:私はそれらの特定のサブセットを返すプロパティを持っているしたいと思います。パラメータ名:ソース
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);
どのように私はこれが仕事を得ることができますか?これは正しいアプローチですか?あなたは空のエンティティのコンストラクタであなたのコレクションのプロパティを初期化する必要がある例外のこの種のを避けるために