2016-07-18 20 views
0

在我oDataController我希望得到一個列表的內容。如果我調試下面的例子,我可以看到,IQueryable「q」實際上包含正確的內容。獲取列表<T>的內容的OData控制器

public class HousesController : ODataController 
{ 
    [HttpGet] 
    [EnableQuery] 
    [ODataRoute("Houses")] 
    public IHttpActionResult GetHouses() 
    { 
     Yard y = new Yard(); 

     //...code that gets "bhl", what is a list<HouseViewModel>-Type 

     IQueryable<HouseViewModel> q = bhl.AsQueryable();   

     return Ok(q); 
    } 
} 

但是,這給了我一個500內部服務器錯誤作爲HTTP響應。不再。任何想法我可以嘗試或如何獲得更詳細的錯誤信息?

感謝:-)

編輯:

即使這會導致問題:

 List<PersonViewModel> test = new List<PersonViewModel>(); 
     test.Add(new PersonViewModel()); 
     return Ok(test); 

回答

0

兩個建議: - 有多少項目是在 'Q' 的對象?有可能您的代碼超過了http限制流量?嘗試。取(5)添加到您的查詢,例如,限制對象返回給客戶端 - 嘗試返回OK(q.ToList()) - 返回之前也許列表必須物化?

+0

只有7家對象,所以我不認爲點1是一個問題。我也試過.ToList()。不幸的是沒有任何運氣:-( – David

相關問題