我使用Visual Studio 2015 Web API 2項目和腳手架控制器(「Microsoft OData V4 Web API控制器使用實體框架」腳手架)創建了一個非常原始的OData webservice。OData V4屬性訪問
我只有一個實體在我的模型中設置:「書籍」。 「Book」實體具有特權「標題」字符串屬性。
我推測腳手架控制器將服務於所有合法的OData v4請求,但似乎並非如此?
http://localhost:xxxx/OData/Books作品(枚舉所有屬性的所有書籍 - 包括「名稱」屬性)
http://localhost:xxxx/OData/Books(1)作品(列舉了第一本書的所有屬性,包括「標題」屬性)
http://localhost:xxxx/OData/Books(1)/Title做不起作用 - 我得到一個「儘管請求是100%OData v4投訴,但沒有發現路由約定爲模板'〜/ entityset/key/property'錯誤選擇OData路徑的操作?
它爲什麼不起作用?它不應該工作嗎?需要什麼才能使其工作?
非常感謝您的鏈接 - 現在我想我明白了。是否正確地說,爲了處理對一個實體的任何單一屬性的請求,該實體的控制器必須實現一個單獨的專門操作方法,形式爲「Get From (...) 「爲每一個可用的財產? –
是的,只要你在實體屬性中使用內置的路由約定。作爲替代方案,您可以編寫自己的路由約定,該約定支持將屬性名稱作爲字符串傳遞給控制器方法,但這要做得更多。 – lencharest