2016-03-28 92 views
0

我使用實體創建控制器。在我的項目中有嚴重的模型,並且對於上下文中的每個模型「Get method」都可以正常工作,但是這個與其他人一樣,沒有做到這一點。Web Api Get方法返回HTTP/1.1 500內部服務器錯誤

這是簡單的代碼:

// GET: api/Proizvodi 
     public IQueryable<Proizvodi> GetProizvodi() 
     { 
      return db.Proizvodi; 
     } 

我與菲德勒測試,這是消息:

{ 「消息」: 「發生錯誤」, 「ExceptionMessage」:「的'ObjectContent`1'類型未能序列化內容類型'application/json; charset = utf-8'的響應主體。「,」ExceptionType「:」System.InvalidOperationException「,」StackTrace「:null,」InnerException「:{ 「消息」:「發生了錯誤。」,「ExceptionMessage」:「檢測到類型爲'System.Data.Entity.DynamicProxies.Proizvodi_B322A16527536C491FCFE47A 9DC60617BBB3A2AAF1FABD41D99F924F0D8FE589' 。路徑 '[0] .JediniceMjere.Proizvodi' 「」 ExceptionType。 「:」 Newtonsoft.Json.JsonSerializationException」,...

我知道有severel同樣的問題,即時尋找答案,但不能發現有問題的實體freimwork,問題系列化否則什麼?

也許這幫助:當我從數據庫中刪除所有記錄這個模型/班,「Proizvodi」,我得到「HTTP/1.1 200 OK「

+0

你不能串行化'IQueryable <>'。使用別的東西,比如'List <>'。 – DavidG

+0

我試過了,還是一樣的錯誤:/ – TariqN

+0

你可以顯示'Proizvodi'類嗎? – DavidG

回答

1

將以下內容添加到

Global.asax 

HttpConfiguration config = GlobalConfiguration.Configuration; 
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; 
+0

謝謝隊友。這很有幫助:D – TariqN

+0

請接受答案(即點擊答案旁邊的複選標記) – Eminem

+0

我做到了,tnx :) – TariqN

相關問題