2014-06-13 91 views
0

我目前正在使用代碼優先方法使用EF6來開發OData Web API 2服務。我的控制器都來自基礎ODataController。我已經使用了Ninject for DI和Owin。使用EDMBuilder Web Api 2(ODATA服務)時內容協商失敗

我試圖公開OData,但由於使用EDMBuilder的一些奇怪的原因,甚至在瀏覽器上內容協商失敗,給出了HTTP 406錯誤。

當我使用ODataConventionModelBuilder時,內容協商可以工作,但我不能使用它,因爲我無法使用breeze的客戶端功能。

想知道是否有人在使用EDMBuilder之前遇到過這樣的問題。 。

+0

這種行爲可能是由於使用OWIN啓動我開發了一個類似的應用程序正常的web api2模板,並且它可以很好地與ODataController和EdmBuilder一起工作 –

+0

最後發現問題,看起來EdmBuilder在內部使用EdmxReader來生成IEdmModel。我的DBcontext和Model類的命名空間是不同的,但是EdmxReader似乎只需要我的DbContext的命名空間,並將其分配給我的模型。 有沒有辦法改變這種情況?或者有其他解決方法? –

回答