Обнаружен цикл обращения к себе - возврат данных из WebApi в браузер

Я использую Entity Framework и имею проблему с передачей родительских и дочерних данных в браузер. Вот мои занятия:

 public class Question
 {
    public int QuestionId { get; set; }
    public string Title { get; set; }
    public virtual ICollection 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 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' type не удалось сериализовать тело ответа для типа контента 'Применение / JSON; кодировка = UTF-8' .

Обнаружен самореферентный цикл для свойствавопрос' с типом 'Models.Core.Question.

Это потому, что в вопросе есть ответы, а в ответах есть ссылка на вопрос? Все места, которые я посмотрел, предполагают наличие ссылки на родителя в ребенке, поэтому я не уверен, что делать. Может кто-нибудь дать мне совет по этому поводу.

Ответы на вопрос(13)

Ваш ответ на вопрос