我正在寻找C#中的OData包装器,它可以与任何OData数据源通信,并将结果作为属性而不是原始XML返回。我查看了http://odata.codeplex.com/,但它的设计围绕着指向特定数据源和构建映射到它的代码的概念。
我们需要创建代码,在运行时我们指向OData数据源并读取元数据,然后使用查询以交互方式调用它,然后使用返回的数据。 (我也相信Linq不会为我们工作,因为我们有最终用户在连接后创建查询 - 没有编写代码和编译。)
那里有什么东西吗?
谢谢 - 戴夫
答案 0 :(得分:2)
您可能必须为您要实现的目标编写自定义提供程序。
以下博客系列非常有帮助:
http://blogs.msdn.com/b/alexj/archive/2010/01/07/data-service-providers-getting-started.aspx
http://blogs.msdn.com/b/vitek/archive/2010/02/25/data-services-expressions-part-1-intro.aspx
答案 1 :(得分:2)
我假设您想要将任意OData服务作为客户端使用,对吧?为此,我建议使用ODataLib(http://www.nuget.org/packages/Microsoft.Data.OData)。它是OData的读者和作者,仅此而已。因此,与WCF数据服务相比,它将需要更多代码,但它允许消耗任意OData有效负载,而无需生成匹配类型。您可能还想查看此博客的开头:http://blogs.msdn.com/b/astoriateam/archive/2011/10/14/introducing-the-odata-library.aspx