1

有什么办法可以“逆转” Odata 服务的效果?即 Odata Web 服务从实体对象生成一个 RSS xml 字符串。

有什么办法可以反过来吗?即从 Odata 字符串生成实体对象?

基本上,我正在寻找可以在控制台应用程序中使用的 Odata 序列化器和反序列化器功能,而无需创建 Odata 服务。

我可以访问生成给定 OData 字符串的 EDMX 文件。我只需要反序列化数据的功能。

4

2 回答 2

1

这几乎正​​是 ODataLib 的用途。它是一个实现 OData 格式的读取器和写入器的库。它不读取或写入实际的实体对象,而是将实体表示为自己的 OM(这样您就不必为每个实体类型指定 CLR 类型)。但是将 OM 转化为实际实例非常容易。

ODataLib (Microsoft.Data.OData.dll) 在 NuGet 上可用,或者它是 WCF 数据服务 5.0 版本的一部分。

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

于 2012-07-02T14:23:43.347 回答
0

这些函数是 WCF 数据服务的内部实现 - 所有相关的内部类都应该在System.Data.Services.Serializers命名空间内。

您可以尝试使用类 fromSystem.ServiceModel.Syndication来处理 Atom / RSS 提要。我认为数据服务在内部使用它们,但您很可能会重新实现数据服务中已经可用的部分 OData 处理。

于 2012-07-02T09:50:32.933 回答