Entity Framework를 사용하고 있으며 브라우저에 부모 및 자식 데이터를 가져 오는 데 문제가 있습니다. 내 수업은 다음과 같습니다.
public class Question
{
public int QuestionId { get; set; }
public string Title { get; set; }
public virtual ICollection<Answer> Answers { get; set; }
}
public class Answer
{
public int AnswerId { get; set; }
public string Text { get; set; }
public int QuestionId { get; set; }
public virtual Question Question { get; set; }
}
다음 코드를 사용하여 질문 및 답변 데이터를 반환하고 있습니다.
public IList<Question> GetQuestions(int subTopicId, int questionStatusId)
{
var questions = _questionsRepository.GetAll()
.Where(a => a.SubTopicId == subTopicId &&
(questionStatusId == 99 ||
a.QuestionStatusId == questionStatusId))
.Include(a => a.Answers)
.ToList();
return questions;
}
C # 측면에서 이것은 작동하는 것처럼 보이지만 대답 개체에 질문에 대한 참조가 있음을 알 수 있습니다. WebAPI를 사용하여 데이터를 브라우저로 가져올 때 다음 메시지가 표시됩니다.
'ObjectContent`1'유형이 콘텐츠 유형 'application / json;에 대한 응답 본문을 직렬화하지 못했습니다. charset = utf-8 '입니다.
유형이 'Models.Core.Question'인 속성 'question'에 대해 자체 참조 루프가 감지되었습니다.
질문에 답변이 있고 답변에 질문에 대한 참조가 있기 때문입니까? 내가 본 모든 장소는 아이의 부모에 대한 언급을 제안하므로 어떻게 해야할지 모르겠습니다. 누군가 나에게 이것에 대한 조언을 줄 수 있습니까?