2017-03-03 97 views
0

的空名单上有这个动作是应该返回学生的WebAPI 2返回一个对象

[HttpGet("GetAllStudentsByYear/{year}")] 
public IActionResult GetAllStudentsByYear(int year) 
{ 
    using (var db = new StudentsCFD()) 
    { 
     List<student> stud = (from std in db.student 
           join c in db.cppsas 
           on std.cppsa_id equals c.cppsa_ID 
           where c.school_yr == year 
           select std).ToList(); 
     return Ok(stud); 
    } 
} 

我百分之百一定撑的列表不是null,它在调试的时候有28个对象。但是,我的输出被调用时看起来像这样。

[ 
    {} 
] 
+2

您确定“stud”中有28项?如果您暂时将方法更改为'return Ok(stud.Count());'? – DavidG

+1

如果将操作返回类型更改为'List '和'return stud;',您会得到相同的结果吗? – Andrei

+0

@DavidG是的,返回'Ok(stud.Count())'返回28 –

回答

0

在linq工作之前添加db.Configuration.ProxyCreationEnabled = false。它看起来像是一个循环或大量的外键引用。

0

您可以直接退货吗?如果是,那么尝试一次。 例如return stud; 并且如果返回类型IActionResult给出错误使其成为dynamic