Обнаружен самоссылочный цикл структуры сущностей

У меня странная ошибка. Я'Я экспериментирую с .NET 4.5 Web API, Entity Framework и MS SQL Server. Я'мы уже создали базу данных и установили правильные первичные и внешние ключи и отношения.

Мы создали модель .edmx и импортировали две таблицы: Employee и Department. В отделе может быть много сотрудников, и такие отношения существуют. Я создал новый контроллер с именем EmployeeController, используя параметры scaffolding для создания контроллера API с действиями чтения / записи с использованием Entity Framework. В мастере выберите Employee в качестве модели и правильный объект для контекста данных.

Созданный метод выглядит следующим образом:

public IEnumerable GetEmployees()
{
    var employees = db.Employees.Include(e => e.Department);
    return employees.AsEnumerable();
}

Когда я вызываю мой API через / api / Employee, я получаю эту ошибку:

'ObjectContent`1' type не удалось сериализовать тело ответа для типа контента 'Применение / JSON; ... System.InvalidOperationException ""Трассировки стека":ноль,"InnerException»: {»Сообщение":"Произошла ошибка.","ExceptionMessage ":"Самостоятельная ссылка обнаружена с типом 'System.Data.Entity.DynamicProxies.Employee_5D80AD978BC68A1D8BD675852F94E8B550F4CB150ADB8649E8998B7F95422552', Дорожка '[0] .Department.Employees'. ""ExceptionType ":"Newtonsoft.Json.JsonSerializationException ""Трассировки стека":" ...

Почему он сам ссылается [0] .Department.Employees? Это нене имеет большого смысла. Я ожидаю, что это произойдет, если у меня в базе данных будут циклические ссылки, но это очень простой пример. Что может быть не так?

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

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