如何在C#中实现动态OData客户端?

时间:2012-01-13 11:02:21

标签: c# dynamic client odata

Microsoft提供WCF Data Services Client Library来在C#中实现OData客户端。该库的工作原理是创建对OData服务的类型化引用。

在C#中实现OData客户端的好方法是什么,而不必先生成类型化的服务接口?换句话说,在基本URL和实体名称为字符串的情况下,在C#中实现OData客户端可以使用多种不同的OData服务的好方法是什么?

此类客户端将使用动态C#对象或字典来表示实体,而不是类型化的实体对象。

可以利用哪些现有的库或项目来实现这一目标?

这种技术的一个应用是开发一个通用的功能测试套件助手库,可用于实现OData服务的测试。

2 个答案:

答案 0 :(得分:7)

上面指向odata-sdk的指针绝对是一个好的开始。对于其中一个也在该网站上列出的OData Explorer几乎就是您正在寻找的。这是一个普通的OData服务“浏览器”。

另一种方法(可能更好)是使用Microsoft.Data.OData.dll。它是WCF数据服务的最新CTP(http://blogs.msdn.com/b/astoriateam/archive/2011/10/13/announcing-wcf-data-services-oct-2011-ctp-for-net-4-and-silverlight-4.aspx)的一部分。 它是OData的低级读者和作者。它不能解决URL处理问题,但读取和写入有效负载效果很好。 这里有一个用法示例:http://blogs.msdn.com/b/astoriateam/archive/2011/10/14/introducing-the-odata-library.aspx

答案 1 :(得分:1)

为此,您只需要一个URL / String Parser,对于更深入的方法,您可能还想在这里查看一些选项:

http://www.odata.org/developers/odata-sdk