我有一個輕量級設置,我在OData中使用Web API 2,但不創建「/ odata」端點及其伴隨的「/ odata/$ metadata」,而只是使用標準ApiController與屬性路由和Get方法標記爲覆蓋[Queryable]:[InlineCountQueryable]這裏詳述Web API, OData, $inlinecount and testing。可查詢的Web API 2 OData序列化
這一切都工作得很好,除了我只能公開沒有任何集合或對象屬性的專用模型類,因爲JSON序列化器會序列化整個對象圖。我的理想行爲是隻讓所有集合完全忽略,而對象屬性只包含在$ expand中。
我相信這可以工作,因爲一個OData Web Api 2腳手架VS 2013創建的實體框架上下文具有類似的行爲,但我想保持這樣儘可能瘦,並避免去那條路線,因爲我發現它有點脆弱,這個服務不需要公開元數據描述。
更新
我做了ASPNET樣品中一些挖掘,發現「CustomODataFormatter」樣品,這似乎暴露我會需要修改..但是ODataSerializerProvider/ODataSerializer設置概述有不工作的機械與所有屬性路由(用[Route(「Some/Url」)])定義的任何方法)。
鑑於這似乎是我需要的,有沒有人知道屬性路由和odata序列化器提供程序機制應該一起工作?
你的問題是什麼? –
對不起,我添加了一個包含明確問題的更新。 – SourceSimian
謝謝,但很抱歉,我不知道答案。 –