来自方法的Web API错误500

时间:2016-07-17 00:56:17

标签: c# angularjs asp.net-web-api

我有一个Angularjs前端和一个Web API后端。

当返回的对象包含列表时,我从方法中得到错误500.当列表不存在时没有问题:

如果我返回这样的对象,则没有错误:

var myObj = new { name1 = value1, name2 = value2};
return myObj;

但是对于以下我得到了错误500:

var q = from p in db.SomeThing select p;
var MyObj =  new { name1 = value1, name2 = value2, name3 = q.ToList()};

错误500:

var q = from p in db.SomeThing select p;
var MyObj =  new { name1 = value1, name2 = value2, name3 = q};

可能出现什么问题?

2 个答案:

答案 0 :(得分:2)

db.SomeThing返回的实体具有导航属性,这些属性在序列化期间执行时会导致异常。尝试选择匿名对象而不是p,看看是否能解决您的问题。

var q = from p in db.SomeThing 
        select new { 
            property1 = p.property1, 
            property2 = p.property2,
            //other properties
        };

答案 1 :(得分:-1)

错误在您的LINQ查询中 - 而不是代码。您需要启用断点 - 选择Debug / Exceptions ...并检查项[] Common language runtime。然后,当程序抛出异常时,它将在异常行处中断。您将了解如何修复查询。 或者你可以在这里发布你的例外。

快乐的编码。