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的目的。
$ select和$ expand現在在夜間版本中可用。關於如何檢查這個[post](http://blogs.msdn.com/b/henrikn/archive/2012/04/29/using-nightly-nuget-packages-with-asp-net-web-stack.aspx)使用我們的每晚構建。 –
當你打算通過nuget發佈一個穩定版本時的任何日期? – StewartArmbrecht