我有一個奇怪的錯誤。我正在嘗試.NET 4.5 Web API,實體框架和MS SQL Server。我已經創建了數據庫並設置了正確的主鍵和外鍵和關係。實體框架自檢迴路檢測
我創建了一個.edmx模型並導入了兩個表:Employee和Department。一個部門可以有很多員工,這種關係是存在的。我使用腳手架選項創建了一個名爲EmployeeController的新控制器,以使用Entity Framework創建具有讀取/寫入操作的API控制器。在嚮導中,選擇Employee作爲模型,併爲數據上下文提供正確的實體。
所創建看起來像這樣的方法:
public IEnumerable<Employee> GetEmployees()
{
var employees = db.Employees.Include(e => e.Department);
return employees.AsEnumerable();
}
當我通過/ API /員工打電話給我的API,我得到這個錯誤:
The 'ObjectContent`1' type failed to serialize the response body for content type 'application/json; ...System.InvalidOperationException","StackTrace":null,"InnerException":{"Message":"An error has occurred.","ExceptionMessage":"Self referencing loop detected with type 'System.Data.Entity.DynamicProxies.Employee_5D80AD978BC68A1D8BD675852F94E8B550F4CB150ADB8649E8998B7F95422552'. Path '[0].Department.Employees'.","ExceptionType":"Newtonsoft.Json.JsonSerializationException","StackTrace":" ...
爲什麼自參考[0 ] .Department.Employees?這並沒有太大的意義。如果我在數據庫中進行循環引用,我會期待這種情況發生,但這是一個非常簡單的例子。可能會出現什麼問題?
可能重複[JSON.NET錯誤自檢參考循環類型檢測](https://stackoverflow.com/questions/7397207/json-net-error-self-referencing-loop-detected-for-type) –