件名と親でグループ化された質問のリストがあります。
たとえば、私は
Subject 1
Parent 1
Question 1
Subject2
Parent2
Question2
Subject1
Parent2
Question3
Subject2
Parent2
Question4
今、ある種のツリービュー、つまり次のようなものを表示したいと思います
Subject 1
Parent 1
Question 1
Parent 2
Question 2
Question 3
Subject 2
Parent 1
Question 4
Parent 2
Question 5
Question 6
GroupBy LINQ ステートメントでそれを達成するにはどうすればよいですか?
まだ機能していないことを試しました
var questionSubjectGrps = questionsBll.GetReportQuestions()
.Where(x => x.VersionId == iLatestVersion)
.OrderByDescending(x => x.SubjectId)
.GroupBy(subject => new { subject.ReportQuestionTitle, subject.ParentId });
どんな助けでも大歓迎です
ありがとう
** * ** * ** * ** * ** * ** * ****新しいコード* ** * ** * ** * ** * ** *
IEnumerable<ReportQuestion> questionSubjectGrps = questionsBll.GetReportQuestions().Where(x => x.VersionId == iLatestVersion);
var tree = questionSubjectGrps.Select(questSubGrps => questSubGrps.SubjectId)
.Distinct()
.Select(q => new
{
Subject = q.SubjectId,
Parents = questionSubjectGrps
.Where(q2 => q2.SubjectId == q.SubjectId)
.Select(q2 => new
{
Parent = q2.ParentId,
Question = questionSubjectGrps
.Where(q3 => q3.SubjectId == q.SubjectId && q3.ParentId == q2.ParentId)
.Select(q3 => q3.QuestionId)
})
});