私は、次のクラスがあります。だから私は問題、質問を参照して情報を回答することができますLINQで複数のレベルをインクルードする方法はありますか?
var problems = _problemsRepository.GetAll()
.Where(p => p.ProblemId == problemId)
.Include(p => p.Questions)
.Include(p => p.Questions.Answers)
.ToList();
return problems;
:
public class Problem : AuditableTable
{
public Problem()
{
this.Questions = new List<Question>();
}
public int ProblemId { get; set; }
public string Title { get; set; }
public virtual ICollection<Question> Questions { get; set; }
}
public Question()
{
this.Answers = new List<Answer>();
}
public int QuestionId { get; set; }
public int ProblemId { get; set; }
public virtual ICollection<Answer> Answers { get; set; }
public virtual Problem Problem { get; set; }
}
public class Answer : AuditableTable
{
public int AnswerId { get; set; }
public int QuestionId { get; set; }
public string Text { get; set; }
public virtual Question Question { get; set; }
}
私はこのようなクエリを発行したいが。しかし、私の最後のインクルードに問題があり、アンサーを取り込む方法を理解できません。
誰かが私にこれに関するいくつかのアドバイスを与えることができますか?
を取るだろう。 2番目の質問には質問も含まれます。 – user2674389
@ user2674389更新されました! .. –