blogpost、その親Blogオブジェクト、およびそのブログ投稿のコメントリストを返す次のメソッドを与えます。このメソッド内で、コメントのリスト内の各コメントのコメント返信のリストも返す方法があるかどうかを判断しようとしています。ここでLinq to EFリストのサブリストを含める
は、クラス
public class Comment
{
[Key]
public int CommentId { get; set; }
//[ForeignKey("BlogPost")]
//[Index("IX_BlogPostIndex", 1, IsClustered = false, IsUnique = false)]
public int BlogPostId { get; set; }
public BlogPost BlogPost { get; set; }
[Required]
public string CommentText { get; set; }
[Required]
public DateTime CommentPostTime { get; set; }
public List<Reply> CommentReplies { get; set; }
[Required]
public string UserFullName { get; set; }
}
public class Reply
{
[Key]
public int ReplyId { get; set; }
[Required]
public string ReplyText { get; set; }
[Required]
public UserProfile MemberProfile { get; set; }
[ForeignKey("Comment")]
[Index("IX_CommentIndex", 1, IsClustered = false, IsUnique = false)]
public int CommentId { get; set; }
public Comment Comment { get; set; }
[Required]
public DateTime ReplyPostTime { get; set; }
}
そして方法
public BlogPost GetBlogPostById(int blogPostId)
{
return _db.BlogPosts.Where(e => e.BlogPostId == blogPostId)
.Include(e => e.Comments)
.Include(e => e.Blog)
.FirstOrDefault();
}
は、私は、このメソッドからの戻りオブジェクトを反復処理し、応答を取得するが、方法がなければならないと確信して、LINQを使用することができますこのメソッド内で行うため、別のメソッドを実行するのではなく、返されたオブジェクトの一部になります。
コメント返信の表現方法の詳細を教えてください。関係がどのようにクエリを書くことができないか見ることなく。 – 1283822
クラス定義をOPに追加しました – dinotom
私は個人的にListの代わりにCommentモデルでICollectionを使用し、その前にはキーワードvirtualを使用し、返信モデルのコメントコメントの前には – Edward