Microsoft提供了WCF Data Services Client Library来在C#中实现OData客户端 . 该库的工作原理是创建对OData服务的类型化引用 .
在不必先前生成类型化服务接口的情况下,在C#中实现OData客户端的好方法是什么?换句话说,在基本URL和实体名称为字符串的情况下,在C#中实现OData客户端可以使用多种不同的OData服务的好方法是什么?
这样的客户端将使用动态C#对象或字典来表示实体,而不是类型化的实体对象 .
可以利用哪些现有的库或项目来实现这一目标?
该技术的一个应用是开发通用功能测试套件助手库,该库可用于实现OData服务的测试 .
2 回答
上面指向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)的一部分 . 它's a low-level reader and writer for OData. It doesn'解决了URL处理问题,但读取和写入有效负载效果很好 . 这里有一个用法示例:http://blogs.msdn.com/b/astoriateam/archive/2011/10/14/introducing-the-odata-library.aspx
你只需要一个URL / String Parser,对于更深入的方法,你也可以在这里查看一些选项:
http://www.odata.org/developers/odata-sdk