У меня есть следующие классы:Как я могу включить в LINQ более одного уровня?
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; }
}
Я хочу выдать запрос, как это:
var problems = _problemsRepository.GetAll()
.Where(p => p.ProblemId == problemId)
.Include(p => p.Questions)
.Include(p => p.Questions.Answers)
.ToList();
return problems;
Так что я могу увидеть проблемы, вопрос и ответ на информацию. Но есть проблема с моим последним включением, и я не могу решить, как включить ответы.
Может кто-нибудь дать мне несколько советов по этому вопросу.
Первый 'Include' является устаревшим. Второй вопрос также будет включать вопросы. – user2674389
@ user2674389 Обновлено! Спасибо за комментарий, что .. –