2017-03-03 98 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