2012-07-02 22 views
1

有什麼方法可以「反轉」Odata服務的效果?即Odata web服務從實體對象生成RSS xml字符串。如何將Odata字符串轉換爲實體對象

有沒有辦法做到相反?即從Odata字符串中生成一個實體對象?

基本上,我正在尋找Odata serialisers和deserialiser函數,我可以在控制檯應用程序中使用它,而無需創建Odata服務。

我有權訪問EDMX文件,使用該文件生成給定的OData字符串。我只需要將數據反序列化的功能。

回答

0

這些函數是WCF數據服務的內部實現 - 所有相關內部類應該在System.Data.Services.Serializers命名空間內。

您可以嘗試使用System.ServiceModel.Syndication的類來處理Atom/RSS提要。我認爲數據服務在內部使用它們,但是您很可能會重新實現數據服務中已有的OData處理的一部分。

1

這幾乎就是ODataLib的用途。它是一個實現OData格式讀者和作者的圖書館。它不讀取或寫入實際的實體對象,而是將實體表示爲自己的OM(這樣您就不必爲每個實體類型設置CLR類型)。但是將OM轉換爲實際實例非常容易。

ODataLib(Microsoft.Data.OData.dll)在NuGet上可用,或者它是WCF Data Services 5.0發行版的一部分。

下面是它如何使用的一個非常簡短的示例:http://blogs.msdn.com/b/astoriateam/archive/2011/10/14/introducing-the-odata-library.aspx