2016-03-28 94 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

相关问题