2013-05-01 49 views
5

我正在考慮爲我的Web服務(基於Web API)使用OData。不幸的是,我的數據源不是IQueryable。我幾乎不遵循this blog post來實現我自己的IQueryable。沒有IQueryable的OData

我不明白的是如何得到我的實體數據模型(EDM)?例如,在設計師中,我必須建立一個EDM模型嗎?或者,這是隻爲EF,我可以使用「普通」類來代替並設置關係屬性?我不希望暴露。所以我的內部數據結構我的EDM更像是DTO的......

example我已經看到了我應該從EntitySetController派生,以獲得OData兼容HTTP響應。我相信我不能使用EntitySetController,因爲我不支持IQueryable。無論如何,我應該怎麼做才能得到適當的迴應?

回答

4

您可以自己構建EDM模型。您可以使用ODataConventionModelBuilder類來構建您的EDM模型。這tutorial有一些示例代碼。 另外,從here檢出OData上的樣本,尤其是ODataServiceSample和ODataCompositeKeySample。他們應該讓你開始。

此外,如果您沒有IQueryable,則可以從ODataController而不是EntitySetController中派生出來。

相關問題