2013-04-18 109 views
4

試圖讓這個工作。查詢返回所有行,即使我只指定一個(?$ select = title)。在webapiconfig我:

var queryAttribute = new QueryableAttribute() 
      { 
       AllowedQueryOptions = AllowedQueryOptions.All 
      }; 
      config.EnableQuerySupport(queryAttribute); 

控制器看起來是這樣的:

public override IQueryable<_person_TITLE> Get() 
     { 
      return db.personTitle.AsQueryable(); 
     } 
     protected override _person_TITLE GetEntityByKey(int key) 
     { 
      return db.personTitle.FirstOrDefault(p => p.person_TITLE_ID == key); 
     } 

     protected override void Dispose(bool disposing) 
     { 
      db.Dispose(); 
      base.Dispose(disposing); 
     } 

編輯: 做一些更多的挖掘後,我發現,$選擇從未正式實施。這就是默認情況下AllowedQueryOptions中沒有打開的原因。

那麼,這是什麼意思?有這個選項是至關重要的。沒有這個選項,將odata web api投入生產將是愚蠢的。在自己的處理程序中進行編碼將首先破壞使用web api的目的。

回答

4

我們正在努力。對$ select和$ expand的支持應該很快顯示在夜間版本中。

+1

$ select和$ expand現在在夜間版本中可用。關於如何檢查這個[post](http://blogs.msdn.com/b/henrikn/archive/2012/04/29/using-nightly-nuget-packages-with-asp-net-web-stack.aspx)使用我們的每晚構建。 –

+4

當你打算通過nuget發佈一個穩定版本時的任何日期? – StewartArmbrecht