Używam Entity Framework i mam problem z pobieraniem danych rodziców i dzieci do przeglądarki. Oto moje zajęcia:
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; }
}
Używam następującego kodu, aby zwrócić dane pytania i odpowiedzi:
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;
}
Po stronie C # wydaje się to działać, jednak zauważam, że obiekty odpowiedzi mają odniesienia z powrotem do pytania. Kiedy korzystam z WebAPI, aby pobrać dane do przeglądarki, otrzymuję następujący komunikat:
Typowi „ObjectContent” 1 nie udało się serializować treści odpowiedzi dla typu zawartości „application / json”; charset = utf-8 '.
Wykryto pętlę samoodniesień dla właściwości „pytanie” o typie „Models.Core.Question”.
Czy to dlatego, że pytanie ma odpowiedzi, a odpowiedzi mają odniesienie z powrotem do pytania? Wszystkie miejsca, które szukałem, sugerują nawiązanie do rodzica w dziecku, więc nie jestem pewien, co robić. Czy ktoś może mi doradzić w tej sprawie.